From: Martin Waitz Date: Tue, 10 Jan 2006 04:53:55 +0000 (-0800) Subject: [PATCH] DocBook: warn for missing macro parameters X-Git-Tag: v2.6.16-rc1~508 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a6d3fe77dace2c41a32b9699fe78960ab0908a97;p=linux-2.6 [PATCH] DocBook: warn for missing macro parameters Previously kernel-doc silently ignored missing parameter descriptions for preprocessor macros. Now that all such omissions are fixed up we can warn about them in kernel-doc to be able to keep it that way. Signed-off-by: Martin Waitz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/scripts/kernel-doc b/scripts/kernel-doc index 2f45fd2969..9fd5f5b87d 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc @@ -1405,6 +1405,7 @@ sub create_parameterlist($$$) { my $type; my $param; + # temporarily replace commas inside function pointer definition while ($args =~ /(\([^\),]+),/) { $args =~ s/(\([^\),]+),/$1#/g; } @@ -1465,11 +1466,10 @@ sub push_parameter($$$) { my $param_name = $param; $param_name =~ s/\[.*//; - if ($type eq "" && $param eq "...") + if ($type eq "" && $param =~ /\.\.\.$/) { $type=""; - $param="..."; - $parameterdescs{"..."} = "variable arguments"; + $parameterdescs{$param} = "variable arguments"; } elsif ($type eq "" && ($param eq "" or $param eq "void")) { @@ -1477,7 +1477,11 @@ sub push_parameter($$$) { $param="void"; $parameterdescs{void} = "no arguments"; } - if (defined $type && $type && !defined $parameterdescs{$param_name}) { + # warn if parameter has no description + # (but ignore ones starting with # as these are no parameters + # but inline preprocessor statements + if (!defined $parameterdescs{$param_name} && $param_name !~ /^#/) { + $parameterdescs{$param_name} = $undescribed; if (($type eq 'function') || ($type eq 'enum')) {