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