move commandline parsing to main()
This commit is contained in:
parent
25205fd1f3
commit
40afaeb637
82
src/main.c
82
src/main.c
@ -162,52 +162,6 @@ get_id (char *str)
|
|||||||
return atoi (str);
|
return atoi (str);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* process_cmdline:
|
|
||||||
* @argc: argc as passed to main()
|
|
||||||
* @argv: argv as passed to main()
|
|
||||||
*
|
|
||||||
* This function parses command line arguments.
|
|
||||||
**/
|
|
||||||
static void
|
|
||||||
process_cmdline (int argc, char **argv, struct config_s *conf)
|
|
||||||
{
|
|
||||||
int opt;
|
|
||||||
|
|
||||||
while ((opt = getopt (argc, argv, "c:vdh")) != EOF) {
|
|
||||||
switch (opt) {
|
|
||||||
case 'v':
|
|
||||||
display_version ();
|
|
||||||
exit (EX_OK);
|
|
||||||
|
|
||||||
case 'd':
|
|
||||||
conf->godaemon = FALSE;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'c':
|
|
||||||
if (conf->config_file != NULL) {
|
|
||||||
safefree (conf->config_file);
|
|
||||||
}
|
|
||||||
conf->config_file = safestrdup (optarg);
|
|
||||||
if (!conf->config_file) {
|
|
||||||
fprintf (stderr,
|
|
||||||
"%s: Could not allocate memory.\n",
|
|
||||||
argv[0]);
|
|
||||||
exit (EX_SOFTWARE);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'h':
|
|
||||||
display_usage ();
|
|
||||||
exit (EX_OK);
|
|
||||||
|
|
||||||
default:
|
|
||||||
display_usage ();
|
|
||||||
exit (EX_USAGE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* change_user:
|
* change_user:
|
||||||
* @program: The name of the program. Pass argv[0] here.
|
* @program: The name of the program. Pass argv[0] here.
|
||||||
@ -309,6 +263,8 @@ done:
|
|||||||
int
|
int
|
||||||
main (int argc, char **argv)
|
main (int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
int opt;
|
||||||
|
|
||||||
srand(time(NULL)); /* for hashmap seeds */
|
srand(time(NULL)); /* for hashmap seeds */
|
||||||
|
|
||||||
/* Only allow u+rw bits. This may be required for some versions
|
/* Only allow u+rw bits. This may be required for some versions
|
||||||
@ -323,7 +279,39 @@ main (int argc, char **argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
initialize_config_defaults (&config_defaults);
|
initialize_config_defaults (&config_defaults);
|
||||||
process_cmdline (argc, argv, &config_defaults);
|
|
||||||
|
while ((opt = getopt (argc, argv, "c:vdh")) != EOF) {
|
||||||
|
switch (opt) {
|
||||||
|
case 'v':
|
||||||
|
display_version ();
|
||||||
|
exit (EX_OK);
|
||||||
|
|
||||||
|
case 'd':
|
||||||
|
(&config_defaults)->godaemon = FALSE;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'c':
|
||||||
|
if ((&config_defaults)->config_file != NULL) {
|
||||||
|
safefree ((&config_defaults)->config_file);
|
||||||
|
}
|
||||||
|
(&config_defaults)->config_file = safestrdup (optarg);
|
||||||
|
if (!(&config_defaults)->config_file) {
|
||||||
|
fprintf (stderr,
|
||||||
|
"%s: Could not allocate memory.\n",
|
||||||
|
argv[0]);
|
||||||
|
exit (EX_SOFTWARE);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'h':
|
||||||
|
display_usage ();
|
||||||
|
exit (EX_OK);
|
||||||
|
|
||||||
|
default:
|
||||||
|
display_usage ();
|
||||||
|
exit (EX_USAGE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reload_config_file (config_defaults.config_file,
|
if (reload_config_file (config_defaults.config_file,
|
||||||
&config,
|
&config,
|
||||||
|
Loading…
Reference in New Issue
Block a user