kernel-doc: better parsing of named variable arguments

Without this patch we get warnings for named variable arguments.

    warning: No description found for parameter '...'
    warning: Excess function parameter 'args' description in 'alloc_ordered_workqueue'

Signed-off-by: Silvio Fricke <silvio.fricke@gmail.com>
Reviewed-by: Jani Nikula <jani.nikula@intel.com
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
Silvio Fricke 2016-10-28 10:14:08 +02:00 committed by Jonathan Corbet
parent 9d2cccdd6c
commit c950a1739e
1 changed files with 6 additions and 2 deletions

View File

@ -204,6 +204,7 @@ EOF
## init lots of data ## init lots of data
my $errors = 0; my $errors = 0;
my $warnings = 0; my $warnings = 0;
my $anon_struct_union = 0; my $anon_struct_union = 0;
@ -211,7 +212,7 @@ my $anon_struct_union = 0;
# match expressions used to find embedded type information # match expressions used to find embedded type information
my $type_constant = '\%([-_\w]+)'; my $type_constant = '\%([-_\w]+)';
my $type_func = '(\w+)\(\)'; my $type_func = '(\w+)\(\)';
my $type_param = '\@(\w+)'; my $type_param = '\@(\w+(\.\.\.)?)';
my $type_fp_param = '\@(\w+)\(\)'; # Special RST handling for func ptr params my $type_fp_param = '\@(\w+)\(\)'; # Special RST handling for func ptr params
my $type_struct = '\&((struct\s*)*[_\w]+)'; my $type_struct = '\&((struct\s*)*[_\w]+)';
my $type_struct_xml = '\\&amp;((struct\s*)*[_\w]+)'; my $type_struct_xml = '\\&amp;((struct\s*)*[_\w]+)';
@ -2353,7 +2354,10 @@ sub push_parameter($$$) {
if ($type eq "" && $param =~ /\.\.\.$/) if ($type eq "" && $param =~ /\.\.\.$/)
{ {
$param = "..."; if (!$param =~ /\w\.\.\.$/) {
# handles unnamed variable parameters
$param = "...";
}
if (!defined $parameterdescs{$param} || $parameterdescs{$param} eq "") { if (!defined $parameterdescs{$param} || $parameterdescs{$param} eq "") {
$parameterdescs{$param} = "variable arguments"; $parameterdescs{$param} = "variable arguments";
} }