| --- rpm-4.0.4/popt/popt.c~ Sat Jan 19 07:28:30 2002 |
| +++ rpm-4.0.4/popt/popt.c Fri Aug 9 17:08:15 2002 |
| @@ -840,12 +840,17 @@ |
| canstrip) { |
| poptStripArg(con, con->os->next); |
| } |
| - |
| + |
| if (con->os->argv != NULL) { /* XXX can't happen */ |
| - /* XXX watchout: subtle side-effects live here. */ |
| - longArg = con->os->argv[con->os->next++]; |
| - longArg = expandNextArg(con, longArg); |
| - con->os->nextArg = longArg; |
| + if (opt->argInfo & POPT_ARGFLAG_OPTIONAL && |
| + con->os->argv[con->os->next][0] == '-') { |
| + con->os->nextArg = NULL; |
| + } else { |
| + /* XXX watchout: subtle side-effects live here. */ |
| + longArg = con->os->argv[con->os->next++]; |
| + longArg = expandNextArg(con, longArg); |
| + con->os->nextArg = longArg; |
| + } |
| } |
| } |
| } |