kernel-doc: better parsing of named variable arguments
authorSilvio Fricke <silvio.fricke@gmail.com>
Fri, 28 Oct 2016 08:14:08 +0000 (10:14 +0200)
committerJonathan Corbet <corbet@lwn.net>
Fri, 28 Oct 2016 16:54:16 +0000 (10:54 -0600)
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>
scripts/kernel-doc

index 93721f3c91bff3ef62edcf98db11fd5ab7640888..e10378f769f9e235db0b7f0bb53236fa368f1c62 100755 (executable)
@@ -204,6 +204,7 @@ EOF
 
 ## init lots of data
 
+
 my $errors = 0;
 my $warnings = 0;
 my $anon_struct_union = 0;
@@ -211,7 +212,7 @@ my $anon_struct_union = 0;
 # match expressions used to find embedded type information
 my $type_constant = '\%([-_\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_struct = '\&((struct\s*)*[_\w]+)';
 my $type_struct_xml = '\\&amp;((struct\s*)*[_\w]+)';
@@ -2353,7 +2354,10 @@ sub push_parameter($$$) {
 
        if ($type eq "" && $param =~ /\.\.\.$/)
        {
-           $param = "...";
+           if (!$param =~ /\w\.\.\.$/) {
+             # handles unnamed variable parameters
+             $param = "...";
+           }
            if (!defined $parameterdescs{$param} || $parameterdescs{$param} eq "") {
                $parameterdescs{$param} = "variable arguments";
            }