History

scripts: kernel-doc: improve argument handling

Right now, if one uses "--rst" instead of "-rst", it just ignore the argument and produces a man page. Change the logic to accept both "-cmd" and "--cmd". Also, if "cmd" doesn't exist, print the usage information and exit.

Mauro Carvalho Chehab committed 8 years ago

Commit b031ac41 parent b0514261 file · +20 −16Browse files

Unified · Split

scripts/kernel-doc+20−16
@@ -391,47 +391,51 @@ my $undescribed = "-- undescribed --"; · 390 unmodified lines
391 391
392reset_state();392reset_state();
393 393
394while ($ARGV[0] =~ m/^-(.*)/) {394while ($ARGV[0] =~ m/^--?(.*)/) {
395 my $cmd = shift @ARGV;395 my $cmd = $1;
396 if ($cmd eq "-man") {396 shift @ARGV;
397 if ($cmd eq "man") {
397 $output_mode = "man";398 $output_mode = "man";
398 @highlights = @highlights_man;399 @highlights = @highlights_man;
399 $blankline = $blankline_man;400 $blankline = $blankline_man;
400 } elsif ($cmd eq "-rst") {401 } elsif ($cmd eq "rst") {
401 $output_mode = "rst";402 $output_mode = "rst";
402 @highlights = @highlights_rst;403 @highlights = @highlights_rst;
403 $blankline = $blankline_rst;404 $blankline = $blankline_rst;
404 } elsif ($cmd eq "-none") {405 } elsif ($cmd eq "none") {
405 $output_mode = "none";406 $output_mode = "none";
406 } elsif ($cmd eq "-module") { # not needed for XML, inherits from calling document407 } elsif ($cmd eq "module") { # not needed for XML, inherits from calling document
407 $modulename = shift @ARGV;408 $modulename = shift @ARGV;
408 } elsif ($cmd eq "-function") { # to only output specific functions409 } elsif ($cmd eq "function") { # to only output specific functions
409 $output_selection = OUTPUT_INCLUDE;410 $output_selection = OUTPUT_INCLUDE;
410 $function = shift @ARGV;411 $function = shift @ARGV;
411 $function_table{$function} = 1;412 $function_table{$function} = 1;
412 } elsif ($cmd eq "-nofunction") { # output all except specific functions413 } elsif ($cmd eq "nofunction") { # output all except specific functions
413 $output_selection = OUTPUT_EXCLUDE;414 $output_selection = OUTPUT_EXCLUDE;
414 $function = shift @ARGV;415 $function = shift @ARGV;
415 $function_table{$function} = 1;416 $function_table{$function} = 1;
416 } elsif ($cmd eq "-export") { # only exported symbols417 } elsif ($cmd eq "export") { # only exported symbols
417 $output_selection = OUTPUT_EXPORTED;418 $output_selection = OUTPUT_EXPORTED;
418 %function_table = ();419 %function_table = ();
419 } elsif ($cmd eq "-internal") { # only non-exported symbols420 } elsif ($cmd eq "internal") { # only non-exported symbols
420 $output_selection = OUTPUT_INTERNAL;421 $output_selection = OUTPUT_INTERNAL;
421 %function_table = ();422 %function_table = ();
422 } elsif ($cmd eq "-export-file") {423 } elsif ($cmd eq "export-file") {
423 my $file = shift @ARGV;424 my $file = shift @ARGV;
424 push(@export_file_list, $file);425 push(@export_file_list, $file);
425 } elsif ($cmd eq "-v") {426 } elsif ($cmd eq "v") {
426 $verbose = 1;427 $verbose = 1;
427 } elsif (($cmd eq "-h") || ($cmd eq "--help")) {428 } elsif (($cmd eq "h") || ($cmd eq "help")) {
428 usage();429 usage();
429 } elsif ($cmd eq '-no-doc-sections') {430 } elsif ($cmd eq 'no-doc-sections') {
430 $no_doc_sections = 1;431 $no_doc_sections = 1;
431 } elsif ($cmd eq '-enable-lineno') {432 } elsif ($cmd eq 'enable-lineno') {
432 $enable_lineno = 1;433 $enable_lineno = 1;
433 } elsif ($cmd eq '-show-not-found') {434 } elsif ($cmd eq 'show-not-found') {
434 $show_not_found = 1;435 $show_not_found = 1;
436 } else {
437 # Unknown argument
438 usage();
435 }439 }
436}440}
437 441