Hi Andy, On Fri, Jan 22, 2021 at 1:39 PM Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > Allow get_options() to take 0 as a number of integers parameter to validate > the input. > > Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> Thanks for your patch! > --- a/lib/cmdline.c > +++ b/lib/cmdline.c > @@ -103,15 +106,20 @@ EXPORT_SYMBOL(get_option); > > char *get_options(const char *str, int nints, int *ints) > { > + bool validate = (nints == 0); > int res, i = 1; > > - while (i < nints) { > - res = get_option((char **)&str, ints + i); > + while (i < nints || validate) { > + int *pint = validate ? ints : ints + i; I think you can use NULL for validation, as per the documentation for get_option(). > + > + res = get_option((char **)&str, pint); > if (res == 0) > break; > if (res == 3) { > + int n = validate ? 0 : nints - i; > int range_nums; > - range_nums = get_range((char **)&str, ints + i, nints - i); > + > + range_nums = get_range((char **)&str, pint, n); > if (range_nums < 0) > break; > /* Regardless: Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds