diff options
| author | millert <> | 2006-09-22 17:22:05 +0000 |
|---|---|---|
| committer | millert <> | 2006-09-22 17:22:05 +0000 |
| commit | 6ea1c04e14cde761e2faac093669b503a7965de7 (patch) | |
| tree | f0ed47dc5589f380de0d919f9437587a957cea02 /src/lib/libc/stdlib | |
| parent | fa64073760b61d01b343d6fa820c1e1beb8a76eb (diff) | |
| download | openbsd-6ea1c04e14cde761e2faac093669b503a7965de7.tar.gz openbsd-6ea1c04e14cde761e2faac093669b503a7965de7.tar.bz2 openbsd-6ea1c04e14cde761e2faac093669b503a7965de7.zip | |
Back out change in rev 1.15 of to allow whitespace to separate a
flag from its optional argument if permutation is disabled. The
idea was that since "r:" would match "-r foo" then "r::" should
match "-r foo" too as long as we know that things have not been
reshuffled. Unfortunately, this causes incompatibilities with GNU
getopt_long when the POSIXLY_CORRECT environment variable is set.
OK deraadt@
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libc/stdlib/getopt_long.c | 11 |
1 files changed, 1 insertions, 10 deletions
diff --git a/src/lib/libc/stdlib/getopt_long.c b/src/lib/libc/stdlib/getopt_long.c index 41b6cd9f8d..db05a2d5fc 100644 --- a/src/lib/libc/stdlib/getopt_long.c +++ b/src/lib/libc/stdlib/getopt_long.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: getopt_long.c,v 1.20 2005/10/25 15:49:37 jmc Exp $ */ | 1 | /* $OpenBSD: getopt_long.c,v 1.21 2006/09/22 17:22:05 millert Exp $ */ |
| 2 | /* $NetBSD: getopt_long.c,v 1.15 2002/01/31 22:43:40 tv Exp $ */ | 2 | /* $NetBSD: getopt_long.c,v 1.15 2002/01/31 22:43:40 tv Exp $ */ |
| 3 | 3 | ||
| 4 | /* | 4 | /* |
| @@ -457,7 +457,6 @@ start: | |||
| 457 | optarg = NULL; | 457 | optarg = NULL; |
| 458 | if (*place) /* no white space */ | 458 | if (*place) /* no white space */ |
| 459 | optarg = place; | 459 | optarg = place; |
| 460 | /* XXX: disable test for :: if PC? (GNU doesn't) */ | ||
| 461 | else if (oli[1] != ':') { /* arg not optional */ | 460 | else if (oli[1] != ':') { /* arg not optional */ |
| 462 | if (++optind >= nargc) { /* no arg */ | 461 | if (++optind >= nargc) { /* no arg */ |
| 463 | place = EMSG; | 462 | place = EMSG; |
| @@ -467,14 +466,6 @@ start: | |||
| 467 | return (BADARG); | 466 | return (BADARG); |
| 468 | } else | 467 | } else |
| 469 | optarg = nargv[optind]; | 468 | optarg = nargv[optind]; |
| 470 | } else if (!(flags & FLAG_PERMUTE)) { | ||
| 471 | /* | ||
| 472 | * If permutation is disabled, we can accept an | ||
| 473 | * optional arg separated by whitespace so long | ||
| 474 | * as it does not start with a dash (-). | ||
| 475 | */ | ||
| 476 | if (optind + 1 < nargc && *nargv[optind + 1] != '-') | ||
| 477 | optarg = nargv[++optind]; | ||
| 478 | } | 469 | } |
| 479 | place = EMSG; | 470 | place = EMSG; |
| 480 | ++optind; | 471 | ++optind; |
