diff options
author | Randy Dunlap <randy.dunlap@oracle.com> | 2008-12-01 16:14:03 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-12-01 22:55:25 -0500 |
commit | ced69090c573f1db253fb6b84ec537f4f3d7e2f4 (patch) | |
tree | 5221176b79d3fdb51ff508f713c1997979574371 | |
parent | 6ff2d39b91aec3dcae951afa982059e3dd9b49dc (diff) |
kernel-doc: handle varargs cleanly
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>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rwxr-xr-x | scripts/kernel-doc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/scripts/kernel-doc b/scripts/kernel-doc index a53e2fc8dfb5..d27aad78e1d8 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc | |||
@@ -378,6 +378,10 @@ sub dump_section { | |||
378 | # print STDERR "parameter def '$1' = '$contents'\n"; | 378 | # print STDERR "parameter def '$1' = '$contents'\n"; |
379 | $name = $1; | 379 | $name = $1; |
380 | $parameterdescs{$name} = $contents; | 380 | $parameterdescs{$name} = $contents; |
381 | } elsif ($name eq "@\.\.\.") { | ||
382 | # print STDERR "parameter def '...' = '$contents'\n"; | ||
383 | $name = "..."; | ||
384 | $parameterdescs{$name} = $contents; | ||
381 | } else { | 385 | } else { |
382 | # print STDERR "other section '$name' = '$contents'\n"; | 386 | # print STDERR "other section '$name' = '$contents'\n"; |
383 | if (defined($sections{$name}) && ($sections{$name} ne "")) { | 387 | if (defined($sections{$name}) && ($sections{$name} ne "")) { |
@@ -1588,12 +1592,12 @@ sub push_parameter($$$) { | |||
1588 | 1592 | ||
1589 | if ($type eq "" && $param =~ /\.\.\.$/) | 1593 | if ($type eq "" && $param =~ /\.\.\.$/) |
1590 | { | 1594 | { |
1591 | $type=""; | 1595 | if (!defined $parameterdescs{$param} || $parameterdescs{$param} eq "") { |
1592 | $parameterdescs{$param} = "variable arguments"; | 1596 | $parameterdescs{$param} = "variable arguments"; |
1597 | } | ||
1593 | } | 1598 | } |
1594 | elsif ($type eq "" && ($param eq "" or $param eq "void")) | 1599 | elsif ($type eq "" && ($param eq "" or $param eq "void")) |
1595 | { | 1600 | { |
1596 | $type=""; | ||
1597 | $param="void"; | 1601 | $param="void"; |
1598 | $parameterdescs{void} = "no arguments"; | 1602 | $parameterdescs{void} = "no arguments"; |
1599 | } | 1603 | } |