diff --git a/lib/long-options.c b/lib/long-options.c index 810965f06..cd2c68d64 100644 --- a/lib/long-options.c +++ b/lib/long-options.c @@ -46,10 +46,8 @@ parse_long_options (argc, argv, command_name, package, version, usage) { int c; int saved_opterr; - int saved_optind; saved_opterr = opterr; - saved_optind = optind; /* Don't print an error message for unrecognized options. */ opterr = 0; @@ -75,6 +73,7 @@ parse_long_options (argc, argv, command_name, package, version, usage) /* Restore previous value. */ opterr = saved_opterr; - /* Restore optind in case it has advanced past a leading `--'. */ - optind = saved_optind; + /* Reset this to zero so that getopt internals get initialized from + the probably-new parameters when/if getopt is called later. */ + optind = 0; }