- struct option longopts[] =
- {
- { "nofork", no_argument, &do_nofork, 1 },
- { "logfile", required_argument, NULL, 'f' },
- { "config", required_argument, NULL, 'c' },
- { "debug", no_argument, &do_debug, 1 },
- { "nolog", no_argument, &do_nolog, 1 },
- { "runasroot", no_argument, &do_root, 1 },
- { "version", no_argument, &do_version, 1 },
- { "testsuite", no_argument, &do_testsuite, 1 },
- { 0, 0, 0, 0 }
- };
-
- while ((c = getopt_long_only(argc, argv, ":f:", longopts, NULL)) != -1)
- {
- switch (c)
- {
- case 'f':
- /* Log filename was set */
- strlcpy(LogFileName, optarg, MAXBUF);
- break;
- case 'c':
- /* Config filename was set */
- strlcpy(ConfigFileName, optarg, MAXBUF);
- break;
- case 0:
- /* getopt_long_only() set an int variable, just keep going */
- break;
- default:
- /* Unknown parameter! DANGER, INTRUDER.... err.... yeah. */
- printf("Usage: %s [--nofork] [--nolog] [--debug] [--logfile <filename>]\n\
- [--runasroot] [--version] [--config <config>] [--testsuite]\n", argv[0]);
- Exit(EXIT_STATUS_ARGV);
- break;