mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-08 15:04:45 +00:00
scripts: kernel-doc: fix troubles with line counts
There's currently a bug with the way kernel-doc script counts line numbers that can be seen with: $ ./scripts/kernel-doc -rst -enable-lineno include/linux/math64.h >all && ./scripts/kernel-doc -rst -internal -enable-lineno include/linux/math64.h >int && diff -U0 int all --- int 2020-09-28 12:58:08.927486808 +0200 +++ all 2020-09-28 12:58:08.905486845 +0200 @@ -1 +1 @@ -#define LINENO 27 +#define LINENO 26 @@ -3 +3 @@ -#define LINENO 16 +#define LINENO 15 @@ -9 +9 @@ -#define LINENO 17 +#define LINENO 16 ... This is happening with perl version 5.30.3, but I'm not so sure if this is a perl bug, or if this is due to something else. In any case, fixing it is easy. Basically, when "-internal" parameter is used, the process_export_file() function opens the handle "IN". This makes the line number to be incremented, as the handler for the main open is also "IN". Fix the problem by using a different handler for the main open(). While here, add a missing close for it. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
parent
e3ad05fe6e
commit
dbe8ba00e5
@ -2268,7 +2268,7 @@ sub process_file($) {
|
||||
|
||||
$file = map_filename($orig_file);
|
||||
|
||||
if (!open(IN,"<$file")) {
|
||||
if (!open(IN_FILE,"<$file")) {
|
||||
print STDERR "Error: Cannot open file $file\n";
|
||||
++$errors;
|
||||
return;
|
||||
@ -2277,9 +2277,9 @@ sub process_file($) {
|
||||
$. = 1;
|
||||
|
||||
$section_counter = 0;
|
||||
while (<IN>) {
|
||||
while (<IN_FILE>) {
|
||||
while (s/\\\s*$//) {
|
||||
$_ .= <IN>;
|
||||
$_ .= <IN_FILE>;
|
||||
}
|
||||
# Replace tabs by spaces
|
||||
while ($_ =~ s/\t+/' ' x (length($&) * 8 - length($`) % 8)/e) {};
|
||||
@ -2311,6 +2311,7 @@ sub process_file($) {
|
||||
print STDERR "${file}:1: warning: no structured comments found\n";
|
||||
}
|
||||
}
|
||||
close IN_FILE;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user