From 2bdde50d3f6e4fc350a8d07f3775a98a28a327bb Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sun, 19 Jun 1994 04:27:52 +0000 Subject: . --- src/nice.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'src/nice.c') diff --git a/src/nice.c b/src/nice.c index 0d3dcbb76..d0db40018 100644 --- a/src/nice.c +++ b/src/nice.c @@ -80,13 +80,35 @@ main (argc, argv) program_name = argv[0]; + /* Inhibit the error message getopt would otherwise give for + unrecognized options. */ + opterr = 0; + while ((optc = getopt_long (argc, argv, "+0123456789-n:", longopts, (int *) 0)) != EOF) { + char *s; + switch (optc) { case '?': - usage (1); + /* Determine whether this is an option like `--5'. + If so, treat it like `-n -5'. */ + s = argv[optind - 1]; + /* Make sure s[1..] is a valid negative integer. + Test/convert `s+1' rather than `s+2' so we reject options + like `---5' as unrecognized. */ + if (s[1] == '-' && isinteger (s + 1)) + { + adjustment = atoi (s + 1); + adjustment_given = 1; + } + else + { + error (0, 0, "unrecognized option `%s'", s); + usage (1); + } + break; case 0: break; -- cgit v1.2.3-54-g00ecf