diff options
Diffstat (limited to 'lib/libc/stdlib')
-rw-r--r-- | lib/libc/stdlib/getopt_long.3 | 46 | ||||
-rw-r--r-- | lib/libc/stdlib/getopt_long.c | 4 |
2 files changed, 27 insertions, 23 deletions
diff --git a/lib/libc/stdlib/getopt_long.3 b/lib/libc/stdlib/getopt_long.3 index bd5d2b9..3c6c5ab 100644 --- a/lib/libc/stdlib/getopt_long.3 +++ b/lib/libc/stdlib/getopt_long.3 @@ -271,29 +271,29 @@ found in glibc-2.1.3: .\" .Ev POSIXLY_CORRECT .\" and stops at the first non-option. .\" .El -.It -Handling of -.Ql - -within the option string (not the first character): -.Bl -tag -width ".Bx" -.It Tn GNU -treats a -.Ql - -on the command line as a non-argument. -.It Bx -a -.Ql - -within the option string matches a -.Ql - -(single dash) on the command line. -This functionality is provided for backward compatibility with -programs, such as -.Xr su 1 , -that use -.Ql - -as an option flag. -This practice is wrong, and should not be used in any current development. -.El +.\" .It +.\" Handling of +.\" .Ql - +.\" within the option string (not the first character): +.\" .Bl -tag -width ".Bx" +.\" .It Tn GNU +.\" treats a +.\" .Ql - +.\" on the command line as a non-argument. +.\" .It Bx +.\" a +.\" .Ql - +.\" within the option string matches a +.\" .Ql - +.\" (single dash) on the command line. +.\" This functionality is provided for backward compatibility with +.\" programs, such as +.\" .Xr su 1 , +.\" that use +.\" .Ql - +.\" as an option flag. +.\" This practice is wrong, and should not be used in any current development. +.\" .El .\" .It .\" Handling of .\" .Ql :: diff --git a/lib/libc/stdlib/getopt_long.c b/lib/libc/stdlib/getopt_long.c index 74f8aa0..dfaff42 100644 --- a/lib/libc/stdlib/getopt_long.c +++ b/lib/libc/stdlib/getopt_long.c @@ -413,7 +413,11 @@ start: return (-1); } if (*(place = nargv[optind]) != '-' || +#ifdef GNU_COMPATIBLE + place[1] == '\0') { +#else (place[1] == '\0' && strchr(options, '-') == NULL)) { +#endif place = EMSG; /* found non-option */ if (flags & FLAG_ALLARGS) { /* |