ash: fix a bug in standalone mode (corrupted getopt() state)
This commit is contained in:
parent
802a7be54f
commit
d1660cb9ad
5 changed files with 43 additions and 33 deletions
|
@ -142,7 +142,8 @@ static const char *normalize(const char *arg)
|
|||
* Other settings are found in global variables.
|
||||
*/
|
||||
#if !ENABLE_GETOPT_LONG
|
||||
#define generate_output(argv,argc,optstr,longopts) generate_output(argv,argc,optstr)
|
||||
#define generate_output(argv,argc,optstr,longopts) \
|
||||
generate_output(argv,argc,optstr)
|
||||
#endif
|
||||
static int generate_output(char **argv, int argc, const char *optstr, const struct option *longopts)
|
||||
{
|
||||
|
@ -156,14 +157,6 @@ static int generate_output(char **argv, int argc, const char *optstr, const stru
|
|||
if (quiet_errors) /* No error reporting from getopt(3) */
|
||||
opterr = 0;
|
||||
|
||||
/* Reset getopt(3) (see libbb/getopt32.c for long rant) */
|
||||
#ifdef __GLIBC__
|
||||
optind = 0;
|
||||
#else /* BSD style */
|
||||
optind = 1;
|
||||
/* optreset = 1; */
|
||||
#endif
|
||||
|
||||
while (1) {
|
||||
opt =
|
||||
#if ENABLE_GETOPT_LONG
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue