• Mauro Carvalho Chehab's avatar
    scripts: kernel-doc: fix troubles with line counts · dbe8ba00
    Mauro Carvalho Chehab authored
    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: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
    dbe8ba00
kernel-doc 64.3 KB