summaryrefslogtreecommitdiff
path: root/src/nice.c
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2010-03-26 07:42:01 +0000
committerPádraig Brady <P@draigBrady.com>2010-03-26 14:31:16 +0000
commitb4f9559537144a7158064ca67b7a4305f1c459df (patch)
treedeb118ad51e950708800defa04f977e191422cf8 /src/nice.c
parent88d4b3461e3eeb69e1d09e89f38050abd6b81402 (diff)
downloadcoreutils-b4f9559537144a7158064ca67b7a4305f1c459df.tar.xz
nice,chroot: use more standard option parsing
Related to the 2010-03-25 commit, 88d4b346, "timeout: use more standard option parsing". * src/nice.c (main): Don't use parse_long_options() which is a helper for commands that don't have any long options specific to them. * src/chroot.c (main): Likewise. * tests/misc/nice-fail: Remove a case that now passes due to us accepting multiple instances of the --help and --version options. * tests/misc/chroot-fail: Likewise.
Diffstat (limited to 'src/nice.c')
-rw-r--r--src/nice.c34
1 files changed, 23 insertions, 11 deletions
diff --git a/src/nice.c b/src/nice.c
index 871129d61..d95b184cc 100644
--- a/src/nice.c
+++ b/src/nice.c
@@ -30,7 +30,6 @@
#endif
#include "error.h"
-#include "long-options.h"
#include "quote.h"
#include "xstrtol.h"
@@ -58,6 +57,8 @@
static struct option const longopts[] =
{
{"adjustment", required_argument, NULL, 'n'},
+ {GETOPT_HELP_OPTION_DECL},
+ {GETOPT_VERSION_OPTION_DECL},
{NULL, 0, NULL, 0}
};
@@ -110,9 +111,6 @@ main (int argc, char **argv)
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];
@@ -124,7 +122,7 @@ main (int argc, char **argv)
}
else
{
- int optc;
+ int c;
int fake_argc = argc - (i - 1);
char **fake_argv = argv + (i - 1);
@@ -134,14 +132,28 @@ main (int argc, char **argv)
/* 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;
}
}