[RFC][PATCH] Kernel-doc script fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

When I try to check multiple files with kernel-doc script I always get wrong
line numbers in the output of the script (by 'check' I mean discard the
generated documentation and see if there are any errors/warnings). For example
if you do

	scripts/kernel-doc > /dev/null mm/*.c

you will get the following:

	Warning(mm/debug-pagealloc.c): no structured comments found
	Warning(mm/failslab.c): no structured comments found
	Warning(mm/hwpoison-inject.c): no structured comments found

	.......... (taken out)

	Warning(mm/pagewalk.c:40254): Excess function parameter 'mm' description
		in 'walk_page_range'
	Warning(mm/percpu.c:42563): Excess function parameter 'flush'
		description in 'pcpu_depopulate_chunk'

	.......... (taken out)

	Warning(mm/util.c): no structured comments found
	Error(mm/vmscan.c:68954): cannot understand prototype:
		'SCAN_UNEVICTABLE_BATCH_SIZE 16UL  '

So it says that vmscan.c has an error on line 68954, but there are only 2892
lines in that file! Although my Perl skills are rather bad, I looked at the
script and found out that it uses internal Perl variable $. for reporting line
numbers. With the current implementation it's OK to do that if you pass it
only one file, but the usage() says

	c source file(s) > outputfile\n";

so it should be perfectly good to pass it multiple files. Now the problem is
that $. keeps track of the current record number (which is line number by
default). But if you pass it multiple files, it does not wrap at the end of
file, and therefore contains the *total* number of processed lines. I also
found the -filelist option, but apparently the implementation is broken, and
it was broken from the very first git commit.

I suppose we can fix line numbering by introducing a simple assignment $. = 1
before processing every new file. As for the -filelist option I suggest the
removal (I wasn't able to find any users of it, moreover it's not even listed in
the usage() output, so presumably nobody knows about it).

		Ilya
--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux