From 2f46ebcdb7c6e5ea0cee3237188982d0df88c8a9 Mon Sep 17 00:00:00 2001 From: Joseph Koshy Date: Thu, 16 Aug 2001 03:27:03 +0000 Subject: [PATCH] If the string specifying the allowed options starts with a leading `:', `getopt(3)' should not print a warning for missing argument values. PR: bin/29625 Reviewed by: mikeh MFC after: 1 week --- lib/libc/stdlib/getopt.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/libc/stdlib/getopt.c b/lib/libc/stdlib/getopt.c index 17059a8ea55f..873d443554f3 100644 --- a/lib/libc/stdlib/getopt.c +++ b/lib/libc/stdlib/getopt.c @@ -65,7 +65,6 @@ getopt(nargc, nargv, ostr) extern char *__progname; static char *place = EMSG; /* option letter processing */ char *oli; /* option letter list index */ - int ret; if (optreset || !*place) { /* update scanning pointer */ optreset = 0; @@ -105,14 +104,12 @@ getopt(nargc, nargv, ostr) else if (nargc <= ++optind) { /* no arg */ place = EMSG; if (*ostr == ':') - ret = BADARG; - else - ret = BADCH; + return (BADARG); if (opterr) (void)fprintf(stderr, "%s: option requires an argument -- %c\n", __progname, optopt); - return (ret); + return (BADCH); } else /* white space */ optarg = nargv[optind];