On Mon, Sep 25, 2023 at 04:37:02PM -0700, Tony Ambardar wrote:
SNIP
@@ -1848,36 +1850,40 @@ int main(int argc, char **argv) { unsigned int from = 0, to = ARRAY_SIZE(tests); bool unpriv = !is_admin();
- int arg = 1;
- if (argc > 1 && strcmp(argv[1], "-v") == 0) {
- int i, arg = 1;
- while (argc > 1 && *argv[arg] == '-') {
if (strcmp(argv[arg], "-l") == 0) {
for (i = from; i < to; i++)
printf("#%d %s\n", i, tests[i].descr);
return EXIT_SUCCESS;
} else if (strcmp(argv[arg], "-v") == 0) {
verbose = true;
verif_log_level = 1;
} else if (strcmp(argv[arg], "-vv") == 0) {
verbose = true;
verif_log_level = 2;
} else
arg++;goto out_help;
verbose = true;
argc--; }verif_log_level = 1;
- if (argc > 1 && strcmp(argv[1], "-vv") == 0) {
arg++;
verbose = true;
verif_log_level = 2;
argc--;
- }
- if (argc == 3) {
unsigned int l = atoi(argv[arg]);
unsigned int u = atoi(argv[arg + 1]);
if (l < to && u < to) {
from = l;
to = u + 1;
}
- } else if (argc == 2) {
unsigned int t = atoi(argv[arg]);
- for (i = 1; i <= 2 && argc > 1; i++, arg++, argc--) {
unsigned int t = min(atoi(argv[arg]), ARRAY_SIZE(tests) - 1);
this looks like unnecessary loop, the code before is easy to understand, could we just do the args check on isdigit and valid index value in there?
jirka
if (t < to) {
if (!isdigit(*argv[arg]))
goto out_help;
if (i == 1) from = t;
to = t + 1;
}
to = t + 1;
- }
- if (argc > 1) {
+out_help:
printf("Usage: %s -l | [-v|-vv] [<tst_lo> [<tst_hi>]]\n",
argv[0]);
}return EXIT_FAILURE;
unpriv_disabled = get_unpriv_disabled(); -- 2.34.1