@@ -467,25 +467,38 @@ static void exithelp(void)
467
467
#define PRINT_VER printf("self-built version %s %s\n\n", __DATE__, __TIME__)
468
468
#endif
469
469
470
+ enum opt_indices {
471
+ IDX_HELP ,
472
+ IDX_THREADS ,
473
+ IDX_FAMILY ,
474
+ IDX_VERBOSE ,
475
+ IDX_STATS ,
476
+ IDX_LOG_RESOLVED ,
477
+ IDX_LOG_FAILED ,
478
+ IDX_DNS_MAKE_QUERY ,
479
+ IDX_DNS_PARSE_QUERY ,
480
+ IDX_LAST ,
481
+ };
482
+
483
+ static const struct option long_options [] = {
484
+ [IDX_HELP ] = {"help" , no_argument , 0 , 0 },
485
+ [IDX_THREADS ] = {"threads" , required_argument , 0 , 0 },
486
+ [IDX_FAMILY ] = {"family" , required_argument , 0 , 0 },
487
+ [IDX_VERBOSE ] = {"verbose" , no_argument , 0 , 0 },
488
+ [IDX_STATS ] = {"stats" , required_argument , 0 , 0 },
489
+ [IDX_LOG_RESOLVED ] = {"log-resolved" , required_argument , 0 , 0 },
490
+ [IDX_LOG_FAILED ] = {"log-failed" , required_argument , 0 , 0 },
491
+ [IDX_DNS_MAKE_QUERY ] = {"dns-make-query" , required_argument , 0 , 0 },
492
+ [IDX_DNS_PARSE_QUERY ] = {"dns-parse-query" , no_argument , 0 , 0 },
493
+ [IDX_LAST ] = {NULL , 0 , NULL , 0 },
494
+ };
495
+
470
496
int main (int argc , char * * argv )
471
497
{
472
498
int r , v , option_index = 0 ;
473
499
char fn1 [256 ],fn2 [256 ];
474
500
char dom [256 ];
475
501
476
- static const struct option long_options [] = {
477
- {"help" ,no_argument ,0 ,0 }, // optidx=0
478
- {"threads" ,required_argument ,0 ,0 }, // optidx=1
479
- {"family" ,required_argument ,0 ,0 }, // optidx=2
480
- {"verbose" ,no_argument ,0 ,0 }, // optidx=3
481
- {"stats" ,required_argument ,0 ,0 }, // optidx=4
482
- {"log-resolved" ,required_argument ,0 ,0 }, // optidx=5
483
- {"log-failed" ,required_argument ,0 ,0 }, // optidx=6
484
- {"dns-make-query" ,required_argument ,0 ,0 }, // optidx=7
485
- {"dns-parse-query" ,no_argument ,0 ,0 }, // optidx=8
486
- {NULL ,0 ,NULL ,0 }
487
- };
488
-
489
502
memset (& glob , 0 , sizeof (glob ));
490
503
* fn1 = * fn2 = * dom = 0 ;
491
504
glob .family = FAMILY4 ;
@@ -495,19 +508,19 @@ int main(int argc, char **argv)
495
508
if (v ) exithelp ();
496
509
switch (option_index )
497
510
{
498
- case 0 : /* help */
511
+ case IDX_HELP :
499
512
PRINT_VER ;
500
513
exithelp ();
501
514
break ;
502
- case 1 : /* threads */
515
+ case IDX_THREADS :
503
516
glob .threads = optarg ? atoi (optarg ) : 0 ;
504
517
if (glob .threads <= 0 || glob .threads > 100 )
505
518
{
506
519
fprintf (stderr , "thread number must be within 1..100\n" );
507
520
return 1 ;
508
521
}
509
522
break ;
510
- case 2 : /* family */
523
+ case IDX_FAMILY :
511
524
if (!strcmp (optarg , "4" ))
512
525
glob .family = FAMILY4 ;
513
526
else if (!strcmp (optarg , "6" ))
@@ -520,25 +533,25 @@ int main(int argc, char **argv)
520
533
return 1 ;
521
534
}
522
535
break ;
523
- case 3 : /* verbose */
536
+ case IDX_VERBOSE :
524
537
glob .verbose = '\1' ;
525
538
break ;
526
- case 4 : /* stats */
539
+ case IDX_STATS :
527
540
glob .stats_every = optarg ? atoi (optarg ) : 0 ;
528
541
break ;
529
- case 5 : /* log-resolved */
542
+ case IDX_LOG_RESOLVED :
530
543
strncpy (fn1 ,optarg ,sizeof (fn1 ));
531
544
fn1 [sizeof (fn1 )- 1 ] = 0 ;
532
545
break ;
533
- case 6 : /* log-failed */
546
+ case IDX_LOG_FAILED :
534
547
strncpy (fn2 ,optarg ,sizeof (fn2 ));
535
548
fn2 [sizeof (fn2 )- 1 ] = 0 ;
536
549
break ;
537
- case 7 : /* dns-make-query */
550
+ case IDX_DNS_MAKE_QUERY :
538
551
strncpy (dom ,optarg ,sizeof (dom ));
539
552
dom [sizeof (dom )- 1 ] = 0 ;
540
553
break ;
541
- case 8 : /* dns-parse-query */
554
+ case IDX_DNS_PARSE_QUERY :
542
555
return dns_parse_query ();
543
556
}
544
557
}
0 commit comments