Commit b031ac4e authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by Jonathan Corbet

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.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
parent b0514267
...@@ -391,47 +391,51 @@ my $undescribed = "-- undescribed --"; ...@@ -391,47 +391,51 @@ my $undescribed = "-- undescribed --";
reset_state(); reset_state();
while ($ARGV[0] =~ m/^-(.*)/) { while ($ARGV[0] =~ m/^--?(.*)/) {
my $cmd = shift @ARGV; my $cmd = $1;
if ($cmd eq "-man") { shift @ARGV;
if ($cmd eq "man") {
$output_mode = "man"; $output_mode = "man";
@highlights = @highlights_man; @highlights = @highlights_man;
$blankline = $blankline_man; $blankline = $blankline_man;
} elsif ($cmd eq "-rst") { } elsif ($cmd eq "rst") {
$output_mode = "rst"; $output_mode = "rst";
@highlights = @highlights_rst; @highlights = @highlights_rst;
$blankline = $blankline_rst; $blankline = $blankline_rst;
} elsif ($cmd eq "-none") { } elsif ($cmd eq "none") {
$output_mode = "none"; $output_mode = "none";
} elsif ($cmd eq "-module") { # not needed for XML, inherits from calling document } elsif ($cmd eq "module") { # not needed for XML, inherits from calling document
$modulename = shift @ARGV; $modulename = shift @ARGV;
} elsif ($cmd eq "-function") { # to only output specific functions } elsif ($cmd eq "function") { # to only output specific functions
$output_selection = OUTPUT_INCLUDE; $output_selection = OUTPUT_INCLUDE;
$function = shift @ARGV; $function = shift @ARGV;
$function_table{$function} = 1; $function_table{$function} = 1;
} elsif ($cmd eq "-nofunction") { # output all except specific functions } elsif ($cmd eq "nofunction") { # output all except specific functions
$output_selection = OUTPUT_EXCLUDE; $output_selection = OUTPUT_EXCLUDE;
$function = shift @ARGV; $function = shift @ARGV;
$function_table{$function} = 1; $function_table{$function} = 1;
} elsif ($cmd eq "-export") { # only exported symbols } elsif ($cmd eq "export") { # only exported symbols
$output_selection = OUTPUT_EXPORTED; $output_selection = OUTPUT_EXPORTED;
%function_table = (); %function_table = ();
} elsif ($cmd eq "-internal") { # only non-exported symbols } elsif ($cmd eq "internal") { # only non-exported symbols
$output_selection = OUTPUT_INTERNAL; $output_selection = OUTPUT_INTERNAL;
%function_table = (); %function_table = ();
} elsif ($cmd eq "-export-file") { } elsif ($cmd eq "export-file") {
my $file = shift @ARGV; my $file = shift @ARGV;
push(@export_file_list, $file); push(@export_file_list, $file);
} elsif ($cmd eq "-v") { } elsif ($cmd eq "v") {
$verbose = 1; $verbose = 1;
} elsif (($cmd eq "-h") || ($cmd eq "--help")) { } elsif (($cmd eq "h") || ($cmd eq "help")) {
usage(); usage();
} elsif ($cmd eq '-no-doc-sections') { } elsif ($cmd eq 'no-doc-sections') {
$no_doc_sections = 1; $no_doc_sections = 1;
} elsif ($cmd eq '-enable-lineno') { } elsif ($cmd eq 'enable-lineno') {
$enable_lineno = 1; $enable_lineno = 1;
} elsif ($cmd eq '-show-not-found') { } elsif ($cmd eq 'show-not-found') {
$show_not_found = 1; $show_not_found = 1;
} else {
# Unknown argument
usage();
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment