diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-10-21 12:36:43 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-10-21 12:36:43 +0000 |
commit | 7effd7ae99b2288452762f29cde8311ec72c2cb8 (patch) | |
tree | 5c6d4925605128728f426dd25d3ebab2ca7360bf /util-linux/getopt.c | |
parent | 4c9e9c4314e6f997f37814fffc6b49ebd24bd6be (diff) |
getopt: reinstate erroneously removed getopt() reset code.
Diffstat (limited to 'util-linux/getopt.c')
-rw-r--r-- | util-linux/getopt.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/util-linux/getopt.c b/util-linux/getopt.c index 8b5e46c7b..fd6728731 100644 --- a/util-linux/getopt.c +++ b/util-linux/getopt.c @@ -157,6 +157,15 @@ static int generate_output(char **argv, int argc, const char *optstr, const stru if (quiet_errors) /* No error reporting from getopt(3) */ opterr = 0; + /* We used it already in main() in getopt32(), + * we *must* reset getopt(3): */ +#ifdef __GLIBC__ + optind = 0; +#else /* BSD style */ + optind = 1; + /* optreset = 1; */ +#endif + while (1) { opt = #if ENABLE_GETOPT_LONG |