scripts: kernel-doc: fix line number handling
Address several issues related to pointing to the wrong line number: 1) ensure that line numbers will always be initialized When section is the default (Description), the line number is not initializing, producing this: $ ./scripts/kernel-doc --enable-lineno ./drivers/media/v4l2-core/v4l2-mem2mem.c|less **Description** #define LINENO 0 In case of streamoff or release called on any context, 1] If the context is currently running, then abort job will be called 2] If the context is queued, then the context will be removed from the job_queue Which is not right. Ensure that the line number will always be there. After applied, the result now points to the right location: **Description** #define LINENO 410 In case of streamoff or release called on any context, 1] If the context is currently running, then abort job will be called 2] If the context is queued, then the context will be removed from the job_queue 2) The line numbers for function prototypes are always + 1, because it is taken at the line after handling the prototype. Change the logic to point to the next line after the /** */ block; 3) The "DOC:" line number should point to the same line as this markup is found, and not to the next one. Probably part of the issues were due to a but that was causing the line number offset to be incremented by one, if --export were used. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
		
							parent
							
								
									93351d4196
								
							
						
					
					
						commit
						5ef09c96d4
					
				| @ -1705,7 +1705,7 @@ sub dump_function($$) { | ||||
|     my $file = shift; | ||||
|     my $noret = 0; | ||||
| 
 | ||||
|     print_lineno($.); | ||||
|     print_lineno($new_start_line); | ||||
| 
 | ||||
|     $prototype =~ s/^static +//; | ||||
|     $prototype =~ s/^extern +//; | ||||
| @ -2033,7 +2033,7 @@ sub process_name($$) { | ||||
|     if (/$doc_block/o) { | ||||
| 	$state = STATE_DOCBLOCK; | ||||
| 	$contents = ""; | ||||
| 	$new_start_line = $. + 1; | ||||
| 	$new_start_line = $.; | ||||
| 
 | ||||
| 	if ( $1 eq "" ) { | ||||
| 	    $section = $section_intro; | ||||
| @ -2116,6 +2116,7 @@ sub process_body($$) { | ||||
|     if ($state == STATE_BODY_WITH_BLANK_LINE && /^\s*\*\s?\S/) { | ||||
| 	dump_section($file, $section, $contents); | ||||
| 	$section = $section_default; | ||||
| 	$new_start_line = $.; | ||||
| 	$contents = ""; | ||||
|     } | ||||
| 
 | ||||
| @ -2171,6 +2172,7 @@ sub process_body($$) { | ||||
| 	$prototype = ""; | ||||
| 	$state = STATE_PROTO; | ||||
| 	$brcount = 0; | ||||
|         $new_start_line = $. + 1; | ||||
|     } elsif (/$doc_content/) { | ||||
| 	if ($1 eq "") { | ||||
| 	    if ($section eq $section_context) { | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user