// File: /workspace/github_c_makefile_star2_O0/nimble-code[P]Uno/Src/uno.c
// Function: main
int
main(int argc, char *argv[])
{
	strcpy(loc_args, lx);
	strcat(loc_args, " ");

	strcpy(glob_cmd, gx);
	strcat(glob_cmd, " ");

	argc--;
	while (argc-- > 0)	/* @uno_suppress side-effect */
	{	argv++;
		if (0) { printf("%3d: '%s'\n", argc, *argv); }
		if ((*argv)[0] == '-')
		{	if (0) { printf("option '%c' -- '%s'\n", (*argv)[1], *argv); }
			switch((*argv)[1]) {
			case 'C':	/* -CPP=... */
			case 'D':
			case 'U':
			case 'I':
				pass_loc(*argv, "");
				break;

			case 'L':
				strcpy(lx, &(*argv)[2]);
				if (verbose) { printf("uno: using %s for uno_local\n", lx); }
				strcpy(loc_args, lx);
				strcat(loc_args, " ");
				break;

			case 'G':
				strcpy(gx, &(*argv)[2]);
				if (verbose) { printf("uno: using %s for uno_global\n", gx); }
				strcpy(glob_cmd, gx);
				strcat(glob_cmd, " ");
				break;

			case 'W':
				w_dir = malloc(strlen(*argv)+1-2);
				strcpy(w_dir, &(*argv)[2]);
				pass_loc(*argv, "");
				break;
			case 'a':	/* l */
				pass_loc("-allerr ", NULL);
				break;
			case 'e':	/* add the else-chain and compound checkers */
				pass_loc("-else ", NULL);
		/*		pass_loc("-compound ", NULL);	* not working */
				break;
			case 'g':	/* g */
				argv++; argc--;
				set_glb(*argv);
				break;
			case 'c':	/* absorb cc args */
			case 'l':	/* l */
				localonly = 1;
				pass_loc("-localonly ", NULL);
				break;
			case 'm':	/* l */
				argv++; argc--;
				pass_loc("-master ", *argv);
				break;
			case 'n':	/* l */
				pass_loc("-nopre ", NULL);
				break;
			case 'o':	/* absorb cc args */
				argv++; argc--;
				break;
			case 'p':	/* l */
				argv++; argc--;
				pass_loc("-prop ", *argv);
				break;
			case 'q':
				quiet = 1;
				break;

			case 'r':	/* experimental XXX */
				pass_loc("-rules ", NULL);
				localonly = 1;
				break;

			case 's':	/* l */
				pass_loc("-s ", NULL);
				localonly = 1;
				break;
			case 't':	/* g */
				strcat(glob_cmd, "-l ");
				break;	/* g */
			case 'V':	/* l */
				version_info();
				break;
			case 'v':	/* g,l */
				pass_loc("-v ", NULL);
				strcat(glob_cmd, "-v ");
				verbose = 1;
				break;
			case 'w':	/* g,l */
				pass_loc("-picky ", NULL);
				strcat(glob_cmd, "-l ");
			case 'u':	/* g,l  @uno_suppress: fall through on switch */
				usecheck = 1;
				pass_loc("-use ", NULL);
				strcat(glob_cmd, "-u ");
				break;
			case 'x':	/* l */
				argv++; argc--;
				pass_loc("-exit ", *argv);
				break;
			default :
				fprintf(stderr, "uno: saw -%c\n", (*argv)[1]);
				uno_usage();
				break;
			}
		} else if (strstr(*argv, ".c") != NULL)
		{	add_target(*argv);
		} else
		{	uno_usage();
	}	}

	if (!fnames)
	{	uno_usage();
	}

	signal(SIGINT, cleanup);

	glob_base = (int) strlen(glob_cmd);

	run_uno();

	if (!usecheck && !quiet)
	{	printf("uno:\tcheck completed, try 'uno -h' for different checks\n");
	}

	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl $0x0, -0x4(%rbp)
movl %edi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq 0x2e53(%rip), %rsi      # 0x40b0
leaq 0x2e6c(%rip), %rdi      # 0x40d0
callq 0x1050
leaq 0x2e60(%rip), %rdi      # 0x40d0
leaq 0xecb(%rip), %rsi       # 0x2142
callq 0x10f0
movq 0x2e35(%rip), %rsi      # 0x40b8
leaq 0x3e46(%rip), %rdi      # 0x50d0
callq 0x1050
leaq 0x3e3a(%rip), %rdi      # 0x50d0
leaq 0xea5(%rip), %rsi       # 0x2142
callq 0x10f0
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
movl -0x8(%rbp), %eax
movl %eax, %ecx
addl $-0x1, %ecx
movl %ecx, -0x8(%rbp)
cmpl $0x0, %eax
jle 0x16ab
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x2d, %eax
jne 0x1678
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl 0x1(%rax), %eax
addl $-0x43, %eax
movl %eax, %ecx
movq %rcx, -0x18(%rbp)
subl $0x35, %eax
ja 0x164e
movq -0x18(%rbp), %rax
leaq 0xcfe(%rip), %rcx       # 0x2004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x1187(%rip), %rsi      # 0x24a4
callq 0x1710
jmp 0x1676
movq 0x2d82(%rip), %rdi      # 0x40b0
movq -0x10(%rbp), %rax
movq (%rax), %rsi
addq $0x2, %rsi
callq 0x1050
cmpl $0x0, 0x4d8b(%rip)      # 0x60d0
je 0x135c
movq 0x2d62(%rip), %rsi      # 0x40b0
leaq 0xd87(%rip), %rdi       # 0x20dc
movb $0x0, %al
callq 0x1080
movq 0x2d4d(%rip), %rsi      # 0x40b0
leaq 0x2d66(%rip), %rdi      # 0x40d0
callq 0x1050
leaq 0x2d5a(%rip), %rdi      # 0x40d0
leaq 0xdc5(%rip), %rsi       # 0x2142
callq 0x10f0
jmp 0x1676
movq 0x2d2a(%rip), %rdi      # 0x40b8
movq -0x10(%rbp), %rax
movq (%rax), %rsi
addq $0x2, %rsi
callq 0x1050
cmpl $0x0, 0x4d2b(%rip)      # 0x60d0
je 0x13bc
movq 0x2d0a(%rip), %rsi      # 0x40b8
leaq 0xd44(%rip), %rdi       # 0x20f9
movb $0x0, %al
callq 0x1080
movq 0x2cf5(%rip), %rsi      # 0x40b8
leaq 0x3d06(%rip), %rdi      # 0x50d0
callq 0x1050
leaq 0x3cfa(%rip), %rdi      # 0x50d0
leaq 0xd65(%rip), %rsi       # 0x2142
callq 0x10f0
jmp 0x1676
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x1060
movq %rax, %rdi
addq $0x1, %rdi
subq $0x2, %rdi
callq 0x10e0
movq %rax, 0x4cce(%rip)      # 0x60d8
movq 0x4cc7(%rip), %rdi      # 0x60d8
movq -0x10(%rbp), %rax
movq (%rax), %rsi
addq $0x2, %rsi
callq 0x1050
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0x1075(%rip), %rsi      # 0x24a4
callq 0x1710
jmp 0x1676
leaq 0xcd7(%rip), %rdi       # 0x2117
xorl %eax, %eax
movl %eax, %esi
callq 0x1710
jmp 0x1676
leaq 0xccb(%rip), %rdi       # 0x2120
xorl %eax, %eax
movl %eax, %esi
callq 0x1710
jmp 0x1676
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x1760
jmp 0x1676
movl $0x1, 0x4c4d(%rip)      # 0x60e0
leaq 0xc8d(%rip), %rdi       # 0x2127
xorl %eax, %eax
movl %eax, %esi
callq 0x1710
jmp 0x1676
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rsi
leaq 0xc68(%rip), %rdi       # 0x2133
callq 0x1710
jmp 0x1676
leaq 0xc60(%rip), %rdi       # 0x213c
xorl %eax, %eax
movl %eax, %esi
callq 0x1710
jmp 0x1676
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
jmp 0x1676
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rsi
leaq 0xc1d(%rip), %rdi       # 0x2144
callq 0x1710
jmp 0x1676
movl $0x1, 0x4ba9(%rip)      # 0x60e4
jmp 0x1676
leaq 0xc04(%rip), %rdi       # 0x214b
xorl %eax, %eax
movl %eax, %esi
callq 0x1710
movl $0x1, 0x4b86(%rip)      # 0x60e0
jmp 0x1676
leaq 0xbed(%rip), %rdi       # 0x2153
xorl %eax, %eax
movl %eax, %esi
callq 0x1710
movl $0x1, 0x4b67(%rip)      # 0x60e0
jmp 0x1676
leaq 0x3b4b(%rip), %rdi      # 0x50d0
leaq 0xbcb(%rip), %rsi       # 0x2157
callq 0x10f0
jmp 0x1676
callq 0x1820
jmp 0x1676
leaq 0xbb4(%rip), %rdi       # 0x215b
xorl %eax, %eax
movl %eax, %esi
callq 0x1710
leaq 0x3b19(%rip), %rdi      # 0x50d0
leaq 0xb9d(%rip), %rsi       # 0x215b
callq 0x10f0
movl $0x1, 0x4b03(%rip)      # 0x60d0
jmp 0x1676
leaq 0xb86(%rip), %rdi       # 0x215f
xorl %eax, %eax
movl %eax, %esi
callq 0x1710
leaq 0x3ae7(%rip), %rdi      # 0x50d0
leaq 0xb67(%rip), %rsi       # 0x2157
callq 0x10f0
movl $0x1, 0x4ae9(%rip)      # 0x60e8
leaq 0xb61(%rip), %rdi       # 0x2167
xorl %eax, %eax
movl %eax, %esi
callq 0x1710
leaq 0x3aba(%rip), %rdi      # 0x50d0
leaq 0xb50(%rip), %rsi       # 0x216d
callq 0x10f0
jmp 0x1676
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x10(%rbp)
movl -0x8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x8(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rsi
leaq 0xb2a(%rip), %rdi       # 0x2171
callq 0x1710
jmp 0x1676
movq 0x29a3(%rip), %rax      # 0x3ff8
movq (%rax), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rax
movsbl 0x1(%rax), %edx
leaq 0xb0e(%rip), %rsi       # 0x2178
movb $0x0, %al
callq 0x10d0
callq 0x1870
jmp 0x16a6
movq -0x10(%rbp), %rax
movq (%rax), %rdi
leaq 0xb9c(%rip), %rsi       # 0x2222
callq 0x1130
cmpq $0x0, %rax
je 0x169f
movq -0x10(%rbp), %rax
movq (%rax), %rdi
callq 0x1b10
jmp 0x16a4
callq 0x1870
jmp 0x16a6
jmp 0x12ab
cmpq $0x0, 0x4a3d(%rip)      # 0x60f0
jne 0x16ba
callq 0x1870
movl $0x2, %edi
leaq 0x4ca(%rip), %rsi       # 0x1b90
callq 0x10c0
leaq 0x39fe(%rip), %rdi      # 0x50d0
callq 0x1060
movl %eax, 0x4a1b(%rip)      # 0x60f8
callq 0x1d00
cmpl $0x0, 0x49ff(%rip)      # 0x60e8
jne 0x1702
cmpl $0x0, 0x49f2(%rip)      # 0x60e4
jne 0x1702
leaq 0xa8b(%rip), %rdi       # 0x2186
movb $0x0, %al
callq 0x1080
xorl %eax, %eax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)