diff options
author | Randy Dunlap <rdunlap@xenotime.net> | 2006-06-25 05:48:55 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-25 10:01:20 -0700 |
commit | 850622dfaf3d62907c96707773e0f8e84b3c0c06 (patch) | |
tree | 905e002ee082453ab8da9f4a8fe805d69f59bc45 /scripts | |
parent | 9c8ef5614da22666e339b125263d315cfaa89109 (diff) | |
download | linux-stable-850622dfaf3d62907c96707773e0f8e84b3c0c06.tar.gz linux-stable-850622dfaf3d62907c96707773e0f8e84b3c0c06.tar.bz2 linux-stable-850622dfaf3d62907c96707773e0f8e84b3c0c06.zip |
[PATCH] kernel-doc: warn on malformed function docs.
When the verbose (-v) option is used with scripts/kernel-doc, this option
reports when the kernel-doc format is malformed and apparently contains
function description lines before function parameters. In these cases, the
kernel-doc script will print something like: Warning(filemap.c:335):
contents before sections
I have fixed the problems in mm/filemap.c and added lots of kernel-doc to
that file (posted to the linux-mm mailing list Mon. 2006-June-12).
The real goal (as requested by Andrew Morton) is to allow the short
function description to be more than one line long. This patch is both a
kernel-doc checker and a tool en route to that goal.
Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'scripts')
-rwxr-xr-x | scripts/kernel-doc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/scripts/kernel-doc b/scripts/kernel-doc index 21f2f3fee745..351def5c6b8f 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc @@ -253,6 +253,7 @@ my $lineprefix=""; # 3 - scanning prototype. # 4 - documentation block my $state; +my $in_doc_sect; #declaration types: can be # 'function', 'struct', 'union', 'enum', 'typedef' @@ -1706,6 +1707,7 @@ sub process_file($) { if ($state == 0) { if (/$doc_start/o) { $state = 1; # next line is always the function name + $in_doc_sect = 0; } } elsif ($state == 1) { # this line is the function name (always) if (/$doc_block/o) { @@ -1756,10 +1758,15 @@ sub process_file($) { $newcontents = $2; if ($contents ne "") { + if (!$in_doc_sect && $verbose) { + print STDERR "Warning(${file}:$.): contents before sections\n"; + ++$warnings; + } dump_section($section, xml_escape($contents)); $section = $section_default; } + $in_doc_sect = 1; $contents = $newcontents; if ($contents ne "") { if (substr($contents, 0, 1) eq " ") { |