// File: /workspace/github_c_makefile_star2_O0/lucvoo[P]sparse-dev/semind.c
// Function: parse_cmdline_search
static void parse_cmdline_search(int argc, char **argv)
{
	static const struct option long_options[] = {
		{ "explain", no_argument, NULL, 'e' },
		{ "format", required_argument, NULL, 'f' },
		{ "path", required_argument, NULL, 'p' },
		{ "location", no_argument, NULL, 'l' },
		{ "mode", required_argument, NULL, 'm' },
		{ "kind", required_argument, NULL, 'k' },
		{ "verbose", no_argument, NULL, 'v' },
		{ "help", no_argument, NULL, 'h' },
		{ NULL }
	};
	int c;

	while ((c = getopt_long(argc, argv, "+ef:m:k:p:lvh", long_options, NULL)) != -1) {
		switch (c) {
			case 'e':
				semind_search_by_location = EXPLAIN_LOCATION;
				break;
			case 'l':
				semind_search_by_location = USAGE_BY_LOCATION;
				break;
			case 'f':
				semind_search_format = optarg;
				break;
			case 'm':
				set_search_modmask(optarg);
				break;
			case 'k':
				semind_search_kind = tolower(optarg[0]);
				break;
			case 'p':
				semind_search_path = optarg;
				break;
			case 'v':
				semind_verbose++;
				break;
			case 'h':
				show_help_search(0);
		}
	}

	if (semind_search_by_location) {
		char *str;

		if (optind == argc)
			semind_error(1, 0, "one argument required");

		str = argv[optind];

		while (str) {
			char *ptr;

			if ((ptr = strchr(str, ':')) != NULL)
				*ptr++ = '\0';

			if (*str != '\0') {
				if (!semind_search_filename) {
					semind_search_filename = str;
				} else if (!semind_search_line) {
					semind_search_line = atoi(str);
				} else if (!semind_search_column) {
					semind_search_column = atoi(str);
				}
			}
			str = ptr;
		}
	} else if (optind < argc)
		semind_search_symbol = argv[optind++];
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movl %edi, -0x4(%rbp)
movq %rsi, -0x10(%rbp)
movl -0x4(%rbp), %edi
movq -0x10(%rbp), %rsi
leaq 0x54bce(%rip), %rdx     # 0x677bb
leaq 0x7206c(%rip), %rcx     # 0x84c60
xorl %eax, %eax
movl %eax, %r8d
callq 0x12320
movl %eax, -0x14(%rbp)
cmpl $-0x1, %eax
je 0x12cb9
movl -0x14(%rbp), %eax
addl $-0x65, %eax
movl %eax, %ecx
movq %rcx, -0x30(%rbp)
subl $0x11, %eax
ja 0x12cb4
movq -0x30(%rbp), %rax
leaq 0x543e6(%rip), %rcx     # 0x67010
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movl $0x1, 0x82373(%rip)     # 0x94fb0
jmp 0x12cb4
movl $0x2, 0x82367(%rip)     # 0x94fb0
jmp 0x12cb4
movq 0x7938e(%rip), %rax     # 0x8bfe0
movq (%rax), %rax
movq %rax, 0x7969c(%rip)     # 0x8c2f8
jmp 0x12cb4
movq 0x7937b(%rip), %rax     # 0x8bfe0
movq (%rax), %rdi
callq 0x14220
jmp 0x12cb4
movq 0x7936a(%rip), %rax     # 0x8bfe0
movq (%rax), %rax
movsbl (%rax), %edi
callq 0x12380
movl %eax, 0x8232d(%rip)     # 0x94fb4
jmp 0x12cb4
movq 0x79350(%rip), %rax     # 0x8bfe0
movq (%rax), %rax
movq %rax, 0x8231e(%rip)     # 0x94fb8
jmp 0x12cb4
movl 0x81e8a(%rip), %eax     # 0x94b2c
addl $0x1, %eax
movl %eax, 0x81e81(%rip)     # 0x94b2c
jmp 0x12cb4
xorl %edi, %edi
callq 0x14410
jmp 0x12bdf
cmpl $0x0, 0x822f0(%rip)     # 0x94fb0
je 0x12d9e
movq 0x792f3(%rip), %rax     # 0x8bfc0
movl (%rax), %eax
cmpl -0x4(%rbp), %eax
jne 0x12ce9
movl $0x1, %edi
xorl %esi, %esi
leaq 0x54ae7(%rip), %rdx     # 0x677c9
movb $0x0, %al
callq 0x131c0
movq -0x10(%rbp), %rax
movq 0x792cc(%rip), %rcx     # 0x8bfc0
movslq (%rcx), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x12d9c
movq -0x20(%rbp), %rdi
movl $0x3a, %esi
callq 0x12300
movq %rax, -0x28(%rbp)
cmpq $0x0, %rax
je 0x12d34
movq -0x28(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x28(%rbp)
movb $0x0, (%rax)
movq -0x20(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x12d8f
cmpq $0x0, 0x82278(%rip)     # 0x94fc0
jne 0x12d57
movq -0x20(%rbp), %rax
movq %rax, 0x8226b(%rip)     # 0x94fc0
jmp 0x12d8d
cmpl $0x0, 0x8226a(%rip)     # 0x94fc8
jne 0x12d71
movq -0x20(%rbp), %rdi
callq 0x122c0
movl %eax, 0x82259(%rip)     # 0x94fc8
jmp 0x12d8b
cmpl $0x0, 0x82254(%rip)     # 0x94fcc
jne 0x12d89
movq -0x20(%rbp), %rdi
callq 0x122c0
movl %eax, 0x82243(%rip)     # 0x94fcc
jmp 0x12d8b
jmp 0x12d8d
jmp 0x12d8f
movq -0x28(%rbp), %rax
movq %rax, -0x20(%rbp)
jmp 0x12cff
jmp 0x12dd7
movq 0x7921b(%rip), %rax     # 0x8bfc0
movl (%rax), %eax
cmpl -0x4(%rbp), %eax
jge 0x12dd5
movq -0x10(%rbp), %rax
movq 0x79209(%rip), %rcx     # 0x8bfc0
movl (%rcx), %ecx
movl %ecx, %esi
addl $0x1, %esi
movq 0x791fb(%rip), %rdx     # 0x8bfc0
movl %esi, (%rdx)
movslq %ecx, %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x821fb(%rip)     # 0x94fd0
jmp 0x12dd7
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)