Messages in this thread Patch in this message | | | Date | Fri, 21 Nov 2008 18:24:24 -0800 | From | Randy Dunlap <> | Subject | [PATCH] kernel-doc: handle varargs cleanly |
| |
From: Randy Dunlap <randy.dunlap@oracle.com>
The method for listing varargs in kernel-doc notation is: * @...: these arguments are printed by the @fmt argument
but scripts/kernel-doc is confused: it always lists varargs as: ... variable arguments and ignores the @...: line's description, but then prints that line after the list of function parameters as though it's not part of the function parameters.
This patch makes kernel-doc print the supplied @... description if it is present; otherwise a boilerplate "variable arguments" is printed.
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> --- scripts/kernel-doc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)
--- linux-next-20081120.orig/scripts/kernel-doc +++ linux-next-20081120/scripts/kernel-doc @@ -378,6 +378,10 @@ sub dump_section { # print STDERR "parameter def '$1' = '$contents'\n"; $name = $1; $parameterdescs{$name} = $contents; + } elsif ($name eq "@\.\.\.") { +# print STDERR "parameter def '...' = '$contents'\n"; + $name = "..."; + $parameterdescs{$name} = $contents; } else { # print STDERR "other section '$name' = '$contents'\n"; if (defined($sections{$name}) && ($sections{$name} ne "")) { @@ -1588,12 +1592,12 @@ sub push_parameter($$$) { if ($type eq "" && $param =~ /\.\.\.$/) { - $type=""; - $parameterdescs{$param} = "variable arguments"; + if (!defined $parameterdescs{$param} || $parameterdescs{$param} eq "") { + $parameterdescs{$param} = "variable arguments"; + } } elsif ($type eq "" && ($param eq "" or $param eq "void")) { - $type=""; $param="void"; $parameterdescs{void} = "no arguments"; }
| |