Applied, thank you.
On Wed, Nov 6, 2024 at 4:14 PM Ron Yorston <r...@pobox.com> wrote: > > When getopt32() has complementary options it's possible to specify > the minimum and maximum number of arguments allowed. Checking > these values was inconsistent: > > - '?' correctly checked that it was followed by a digit but set > the otherwise unused spec_flgs variable on error. > > - '=' failed to check that it was followed by a digit. > > function old new delta > vgetopt32 1307 1319 +12 > > Signed-off-by: Ron Yorston <r...@pobox.com> > --- > libbb/getopt32.c | 11 +++++------ > 1 file changed, 5 insertions(+), 6 deletions(-) > > diff --git a/libbb/getopt32.c b/libbb/getopt32.c > index e861d0567..2b87a6179 100644 > --- a/libbb/getopt32.c > +++ b/libbb/getopt32.c > @@ -348,7 +348,6 @@ vgetopt32(char **argv, const char *applet_opts, const > char *applet_long_options, > unsigned trigger; > int min_arg = 0; > int max_arg = -1; > - int spec_flgs = 0; > > #define SHOW_USAGE_IF_ERROR 1 > > @@ -449,9 +448,7 @@ vgetopt32(char **argv, const char *applet_opts, const > char *applet_long_options, > continue; > c = s[1]; > if (*s == '?') { > - if (c < '0' || c > '9') { > - spec_flgs |= SHOW_USAGE_IF_ERROR; > - } else { > + if (c >= '0' && c <= '9') { > max_arg = c - '0'; > s++; > } > @@ -465,8 +462,10 @@ vgetopt32(char **argv, const char *applet_opts, const > char *applet_long_options, > continue; > } > if (*s == '=') { > - min_arg = max_arg = c - '0'; > - s++; > + if (c >= '0' && c <= '9') { > + min_arg = max_arg = c - '0'; > + s++; > + } > continue; > } > for (on_off = complementary; on_off->opt_char; on_off++) > -- > 2.47.0 > > _______________________________________________ > busybox mailing list > busybox@busybox.net > https://lists.busybox.net/mailman/listinfo/busybox _______________________________________________ busybox mailing list busybox@busybox.net https://lists.busybox.net/mailman/listinfo/busybox