// File: /workspace/github_c_makefile_star2_O0/saltyJeff[P]uClibcpp/extra/config/conf.c
// Function: conf_askvalue
static void conf_askvalue(struct symbol *sym, const char *def)
{
	enum symbol_type type = sym_get_type(sym);
	tristate val;

	if (!sym_has_value(sym))
		printf("(NEW) ");

	line[0] = '\n';
	line[1] = 0;

	if (!sym_is_changable(sym)) {
		printf("%s\n", def);
		line[0] = '\n';
		line[1] = 0;
		return;
	}

	switch (input_mode) {
	case ask_new:
	case ask_silent:
		if (sym_has_value(sym)) {
			printf("%s\n", def);
			return;
		}
		check_stdin();
	case ask_all:
		fflush(stdout);
		fgets(line, 128, stdin);
		return;
	case set_default:
		printf("%s\n", def);
		return;
	default:
		break;
	}

	switch (type) {
	case S_INT:
	case S_HEX:
	case S_STRING:
		printf("%s\n", def);
		return;
	default:
		;
	}
	switch (input_mode) {
	case set_yes:
		if (sym_tristate_within_range(sym, yes)) {
			line[0] = 'y';
			line[1] = '\n';
			line[2] = 0;
			break;
		}
	case set_mod:
		if (type == S_TRISTATE) {
			if (sym_tristate_within_range(sym, mod)) {
				line[0] = 'm';
				line[1] = '\n';
				line[2] = 0;
				break;
			}
		} else {
			if (sym_tristate_within_range(sym, yes)) {
				line[0] = 'y';
				line[1] = '\n';
				line[2] = 0;
				break;
			}
		}
	case set_no:
		if (sym_tristate_within_range(sym, no)) {
			line[0] = 'n';
			line[1] = '\n';
			line[2] = 0;
			break;
		}
	case set_random:
		do {
			val = (tristate)(random() % 3);
		} while (!sym_tristate_within_range(sym, val));
		switch (val) {
		case no: line[0] = 'n'; break;
		case mod: line[0] = 'm'; break;
		case yes: line[0] = 'y'; break;
		}
		line[1] = '\n';
		line[2] = 0;
		break;
	default:
		break;
	}
	printf("%s", line);
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq %rsi, 0x28(%rsp)
movq 0x30(%rsp), %rdi
callq 0xea00
movl %eax, 0x24(%rsp)
movq 0x30(%rsp), %rdi
callq 0x2db0
testb $0x1, %al
jne 0x25c8
leaq 0xdc5a(%rip), %rdi      # 0x1021b
movb $0x0, %al
callq 0x20f0
movb $0xa, 0x16e31(%rip)     # 0x19400
movb $0x0, 0x16e2b(%rip)     # 0x19401
movq 0x30(%rsp), %rdi
callq 0xf3e0
testb $0x1, %al
jne 0x260a
movq 0x28(%rsp), %rsi
leaq 0x13a9c(%rip), %rdi     # 0x1608c
movb $0x0, %al
callq 0x20f0
movb $0xa, 0x16e02(%rip)     # 0x19400
movb $0x0, 0x16dfc(%rip)     # 0x19401
jmp 0x2854
movl 0x16de0(%rip), %eax     # 0x193f0
movl %eax, 0x1c(%rsp)
testl %eax, %eax
je 0x265f
jmp 0x261a
movl 0x1c(%rsp), %eax
decl %eax
subl $0x2, %eax
jb 0x2632
jmp 0x2627
movl 0x1c(%rsp), %eax
subl $0x3, %eax
je 0x268e
jmp 0x26a6
movq 0x30(%rsp), %rdi
callq 0x2db0
testb $0x1, %al
jne 0x2642
jmp 0x265a
movq 0x28(%rsp), %rsi
leaq 0x13a3e(%rip), %rdi     # 0x1608c
movb $0x0, %al
callq 0x20f0
jmp 0x2854
callq 0x2de0
movq 0x1696a(%rip), %rax     # 0x18fd0
movq (%rax), %rdi
callq 0x2230
movq 0x16963(%rip), %rax     # 0x18fd8
movq (%rax), %rdx
leaq 0x16d81(%rip), %rdi     # 0x19400
movl $0x80, %esi
callq 0x2170
jmp 0x2854
movq 0x28(%rsp), %rsi
leaq 0x139f2(%rip), %rdi     # 0x1608c
movb $0x0, %al
callq 0x20f0
jmp 0x2854
jmp 0x26a8
movl 0x24(%rsp), %eax
addl $-0x3, %eax
subl $0x2, %eax
ja 0x26ce
jmp 0x26b6
movq 0x28(%rsp), %rsi
leaq 0x139ca(%rip), %rdi     # 0x1608c
movb $0x0, %al
callq 0x20f0
jmp 0x2854
jmp 0x26d0
movl 0x16d1a(%rip), %eax     # 0x193f0
addl $-0x4, %eax
movl %eax, %ecx
movq %rcx, 0x10(%rsp)
subl $0x3, %eax
ja 0x283d
movq 0x10(%rsp), %rax
leaq 0xd90f(%rip), %rcx      # 0x10004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x30(%rsp), %rdi
movl $0x2, %esi
callq 0xef40
testb $0x1, %al
jne 0x2713
jmp 0x272d
movb $0x79, 0x16ce6(%rip)    # 0x19400
movb $0xa, 0x16ce0(%rip)     # 0x19401
movb $0x0, 0x16cda(%rip)     # 0x19402
jmp 0x283f
jmp 0x272f
cmpl $0x2, 0x24(%rsp)
jne 0x2767
movq 0x30(%rsp), %rdi
movl $0x1, %esi
callq 0xef40
testb $0x1, %al
jne 0x274b
jmp 0x2765
movb $0x6d, 0x16cae(%rip)    # 0x19400
movb $0xa, 0x16ca8(%rip)     # 0x19401
movb $0x0, 0x16ca2(%rip)     # 0x19402
jmp 0x283f
jmp 0x2798
movq 0x30(%rsp), %rdi
movl $0x2, %esi
callq 0xef40
testb $0x1, %al
jne 0x277c
jmp 0x2796
movb $0x79, 0x16c7d(%rip)    # 0x19400
movb $0xa, 0x16c77(%rip)     # 0x19401
movb $0x0, 0x16c71(%rip)     # 0x19402
jmp 0x283f
jmp 0x2798
jmp 0x279a
movq 0x30(%rsp), %rdi
xorl %esi, %esi
callq 0xef40
testb $0x1, %al
jne 0x27ac
jmp 0x27c3
movb $0x6e, 0x16c4d(%rip)    # 0x19400
movb $0xa, 0x16c47(%rip)     # 0x19401
movb $0x0, 0x16c41(%rip)     # 0x19402
jmp 0x283f
jmp 0x27c5
jmp 0x27c7
callq 0x2210
movl $0x3, %ecx
cqto
idivq %rcx
movl %edx, %eax
movl %eax, 0x20(%rsp)
movq 0x30(%rsp), %rdi
movl 0x20(%rsp), %esi
callq 0xef40
xorb $-0x1, %al
testb $0x1, %al
jne 0x27c7
movl 0x20(%rsp), %eax
movl %eax, 0xc(%rsp)
testl %eax, %eax
je 0x2814
jmp 0x27fe
movl 0xc(%rsp), %eax
subl $0x1, %eax
je 0x281d
jmp 0x2809
movl 0xc(%rsp), %eax
subl $0x2, %eax
je 0x2826
jmp 0x282d
movb $0x6e, 0x16be5(%rip)    # 0x19400
jmp 0x282d
movb $0x6d, 0x16bdc(%rip)    # 0x19400
jmp 0x282d
movb $0x79, 0x16bd3(%rip)    # 0x19400
movb $0xa, 0x16bcd(%rip)     # 0x19401
movb $0x0, 0x16bc7(%rip)     # 0x19402
jmp 0x283f
jmp 0x283f
leaq 0xda64(%rip), %rdi      # 0x102aa
leaq 0x16bb3(%rip), %rsi     # 0x19400
movb $0x0, %al
callq 0x20f0
addq $0x38, %rsp
retq
nopl (%rax)