// File: /workspace/github_c_makefile_star2_O0/baskerville[P]bspwm/src/messages.c
// Function: cmd_config
void cmd_config(char **args, int num, FILE *rsp)
{
	if (num < 1) {
		fail(rsp, "config: Missing arguments.\n");
		return;
	}

	coordinates_t ref = {mon, mon->desk, mon->desk->focus};
	coordinates_t trg = {NULL, NULL, NULL};

	while (num > 0 && (*args)[0] == OPT_CHR) {
		if (streq("-m", *args) || streq("--monitor", *args)) {
			num--, args++;
			if (num < 1) {
				fail(rsp, "config %s: Not enough arguments.\n", *(args - 1));
				return;
			}
			int ret;
			if ((ret = monitor_from_desc(*args, &ref, &trg)) != SELECTOR_OK) {
				handle_failure(ret, "config -m", *args, rsp);
				return;
			}
		} else if (streq("-d", *args) || streq("--desktop", *args)) {
			num--, args++;
			if (num < 1) {
				fail(rsp, "config %s: Not enough arguments.\n", *(args - 1));
				return;
			}
			int ret;
			if ((ret = desktop_from_desc(*args, &ref, &trg)) != SELECTOR_OK) {
				handle_failure(ret, "config -d", *args, rsp);
				return;
			}
		} else if (streq("-n", *args) || streq("--node", *args)) {
			num--, args++;
			if (num < 1) {
				fail(rsp, "config %s: Not enough arguments.\n", *(args - 1));
				return;
			}
			int ret;
			if ((ret = node_from_desc(*args, &ref, &trg)) != SELECTOR_OK) {
				handle_failure(ret, "config -n", *args, rsp);
				return;
			}
		} else {
			fail(rsp, "config: Unknown option: '%s'.\n", *args);
			return;
		}
		num--, args++;
	}
	if (num == 2) {
		set_setting(trg, *args, *(args + 1), rsp);
	} else if (num == 1) {
		get_setting(trg, *args, rsp);
	} else {
		fail(rsp, "config: Was expecting 1 or 2 arguments, received %i.\n", num);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x70, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
cmpl $0x1, -0xc(%rbp)
jge 0x1dbb0
movq -0x18(%rbp), %rdi
leaq 0x10b49(%rip), %rsi     # 0x2e6ed
movb $0x0, %al
callq 0x18d60
jmp 0x1dee0
leaq 0x17b49(%rip), %rax     # 0x35700
movq (%rax), %rax
movq %rax, -0x30(%rbp)
leaq 0x17b3b(%rip), %rax     # 0x35700
movq (%rax), %rax
movq 0x58(%rax), %rax
movq %rax, -0x28(%rbp)
leaq 0x17b29(%rip), %rax     # 0x35700
movq (%rax), %rax
movq 0x58(%rax), %rax
movq 0x38(%rax), %rax
movq %rax, -0x20(%rbp)
leaq -0x48(%rbp), %rdi
xorl %esi, %esi
movl $0x18, %edx
callq 0x4100
xorl %eax, %eax
cmpl $0x0, -0xc(%rbp)
movb %al, -0x55(%rbp)
jle 0x1dc14
movq -0x8(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
sete %al
movb %al, -0x55(%rbp)
movb -0x55(%rbp), %al
testb $0x1, %al
jne 0x1dc20
jmp 0x1de57
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x102a8(%rip), %rdi     # 0x2ded6
callq 0x4800
cmpl $0x0, %eax
je 0x1dc50
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x10764(%rip), %rdi     # 0x2e3aa
callq 0x4800
cmpl $0x0, %eax
jne 0x1dcca
movl -0xc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x8(%rbp)
cmpl $0x1, -0xc(%rbp)
jge 0x1dc8a
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rax
movq -0x8(%rax), %rdx
leaq 0x10a8b(%rip), %rsi     # 0x2e709
movb $0x0, %al
callq 0x18d60
jmp 0x1dee0
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq -0x30(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x24c20
movl %eax, -0x4c(%rbp)
cmpl $0x0, %eax
je 0x1dcc5
movl -0x4c(%rbp), %edi
movq -0x8(%rbp), %rax
movq (%rax), %rdx
movq -0x18(%rbp), %rcx
leaq 0x10a70(%rip), %rsi     # 0x2e72b
callq 0x1df60
jmp 0x1dee0
jmp 0x1de3d
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x101e9(%rip), %rdi     # 0x2dec1
callq 0x4800
cmpl $0x0, %eax
je 0x1dcfa
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x106cd(%rip), %rdi     # 0x2e3bd
callq 0x4800
cmpl $0x0, %eax
jne 0x1dd74
movl -0xc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x8(%rbp)
cmpl $0x1, -0xc(%rbp)
jge 0x1dd34
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rax
movq -0x8(%rax), %rdx
leaq 0x109e1(%rip), %rsi     # 0x2e709
movb $0x0, %al
callq 0x18d60
jmp 0x1dee0
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq -0x30(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x25140
movl %eax, -0x50(%rbp)
cmpl $0x0, %eax
je 0x1dd6f
movl -0x50(%rbp), %edi
movq -0x8(%rbp), %rax
movq (%rax), %rdx
movq -0x18(%rbp), %rcx
leaq 0x109d0(%rip), %rsi     # 0x2e735
callq 0x1df60
jmp 0x1dee0
jmp 0x1de3b
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x10166(%rip), %rdi     # 0x2dee8
callq 0x4800
cmpl $0x0, %eax
je 0x1dda4
movq -0x8(%rbp), %rax
movq (%rax), %rsi
leaq 0x10636(%rip), %rdi     # 0x2e3d0
callq 0x4800
cmpl $0x0, %eax
jne 0x1de1b
movl -0xc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x8(%rbp)
cmpl $0x1, -0xc(%rbp)
jge 0x1ddde
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rax
movq -0x8(%rax), %rdx
leaq 0x10937(%rip), %rsi     # 0x2e709
movb $0x0, %al
callq 0x18d60
jmp 0x1dee0
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq -0x30(%rbp), %rsi
leaq -0x48(%rbp), %rdx
callq 0x25770
movl %eax, -0x54(%rbp)
cmpl $0x0, %eax
je 0x1de19
movl -0x54(%rbp), %edi
movq -0x8(%rbp), %rax
movq (%rax), %rdx
movq -0x18(%rbp), %rcx
leaq 0x10930(%rip), %rsi     # 0x2e73f
callq 0x1df60
jmp 0x1dee0
jmp 0x1de39
movq -0x18(%rbp), %rdi
movq -0x8(%rbp), %rax
movq (%rax), %rdx
leaq 0x1091c(%rip), %rsi     # 0x2e749
movb $0x0, %al
callq 0x18d60
jmp 0x1dee0
jmp 0x1de3b
jmp 0x1de3d
movl -0xc(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0xc(%rbp)
movq -0x8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x8(%rbp)
jmp 0x1dbf6
cmpl $0x2, -0xc(%rbp)
jne 0x1de94
movq -0x8(%rbp), %rax
movq (%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
movq -0x18(%rbp), %rdx
leaq -0x48(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x1dff0
jmp 0x1dee0
cmpl $0x1, -0xc(%rbp)
jne 0x1dec9
movq -0x8(%rbp), %rax
movq (%rax), %rdi
movq -0x18(%rbp), %rsi
leaq -0x48(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x1fa90
jmp 0x1dede
movq -0x18(%rbp), %rdi
movl -0xc(%rbp), %edx
leaq 0x10891(%rip), %rsi     # 0x2e768
movb $0x0, %al
callq 0x18d60
jmp 0x1dee0
addq $0x70, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)