#include "system.h"
#include "error.h"
-#include "long-options.h"
#include "quote.h"
#include "userspec.h"
#include "xstrtol.h"
initialize_exit_failure (EXIT_CANCELED);
atexit (close_stdout);
- parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE_NAME, Version,
- usage, AUTHORS, (char const *) NULL);
-
while ((c = getopt_long (argc, argv, "+", long_opts, NULL)) != -1)
{
switch (c)
case USERSPEC:
userspec = optarg;
break;
+
case GROUPS:
groups = optarg;
break;
+
+ case_GETOPT_HELP_CHAR;
+
+ case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS);
+
default:
usage (EXIT_CANCELED);
}
#endif
#include "error.h"
-#include "long-options.h"
#include "quote.h"
#include "xstrtol.h"
static struct option const longopts[] =
{
{"adjustment", required_argument, NULL, 'n'},
+ {GETOPT_HELP_OPTION_DECL},
+ {GETOPT_VERSION_OPTION_DECL},
{NULL, 0, NULL, 0}
};
initialize_exit_failure (EXIT_CANCELED);
atexit (close_stdout);
- parse_long_options (argc, argv, PROGRAM_NAME, PACKAGE_NAME, Version,
- usage, AUTHORS, (char const *) NULL);
-
for (i = 1; i < argc; /* empty */)
{
char const *s = argv[i];
}
else
{
- int optc;
+ int c;
int fake_argc = argc - (i - 1);
char **fake_argv = argv + (i - 1);
/* Initialize getopt_long's internal state. */
optind = 0;
- optc = getopt_long (fake_argc, fake_argv, "+n:", longopts, NULL);
+ c = getopt_long (fake_argc, fake_argv, "+n:", longopts, NULL);
i += optind - 1;
- if (optc == '?')
- usage (EXIT_CANCELED);
- else if (optc == 'n')
- adjustment_given = optarg;
- else /* optc == -1 */
+ switch (c)
+ {
+ case 'n':
+ adjustment_given = optarg;
+ break;
+
+ case -1:
+ break;
+
+ case_GETOPT_HELP_CHAR;
+
+ case_GETOPT_VERSION_CHAR (PROGRAM_NAME, AUTHORS);
+
+ default:
+ usage (EXIT_CANCELED);
+ break;
+ }
+
+ if (c == -1)
break;
}
}
# These tests verify exact status of internal failure.
nice -n 1 # missing command
test $? = 125 || fail=1
-nice --help --version # too many options
-test $? = 125 || fail=1
nice --- # unknown option
test $? = 125 || fail=1
nice -n 1a # invalid adjustment