Support -D flags
This commit is contained in:
parent
2af8507661
commit
7f3a0d4cd8
28
cc.c
28
cc.c
|
@ -36,6 +36,7 @@ void spawn_processes(int debug_flag, char* prefix, char* preprocessed_file, char
|
|||
|
||||
void prechecks(int argc, char** argv)
|
||||
{
|
||||
int env = 0;
|
||||
char* hold;
|
||||
int i = 1;
|
||||
while(i <= argc)
|
||||
|
@ -89,6 +90,28 @@ void prechecks(int argc, char** argv)
|
|||
M2LIBC_PATH = hold;
|
||||
i += 2;
|
||||
}
|
||||
else if(match(argv[i], "-D"))
|
||||
{
|
||||
hold = argv[i+1];
|
||||
if(NULL == hold)
|
||||
{
|
||||
fputs("-D requires an argument", stderr);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
while(0 != hold[0])
|
||||
{
|
||||
if('=' == hold[0])
|
||||
{
|
||||
hold[0] = 0;
|
||||
hold = hold + 1;
|
||||
break;
|
||||
}
|
||||
hold = hold + 1;
|
||||
}
|
||||
init_macro_env(argv[i+1], hold, "__ARGV__", env);
|
||||
env = env + 1;
|
||||
i += 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
i += 1;
|
||||
|
@ -238,6 +261,11 @@ int main(int argc, char** argv, char** envp)
|
|||
/* Handled by precheck */
|
||||
i += 2;
|
||||
}
|
||||
else if(match(argv[i], "-D"))
|
||||
{
|
||||
/* Handled by precheck */
|
||||
i += 2;
|
||||
}
|
||||
else if(match(argv[i], "-h") || match(argv[i], "--help"))
|
||||
{
|
||||
fputs(" -f input file\n -o output file\n --help for this message\n --version for file version\n-E or --preprocess-only\n--max-string N (N is a number)\n--fuzz\n--no-debug\n", stdout);
|
||||
|
|
Loading…
Reference in New Issue