Re: [PATCH v2] kernel-doc: improve "no structured comments found" error

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

 



On 06/07/13 00:11, Johannes Berg wrote:
> From: Johannes Berg <johannes.berg@xxxxxxxxx>
> 
> When using '!Ffile function' in a docbook template, and the function
> no longer exists, you get a "no structured comments found" error from
> the kernel-doc processing script. It's useful to know which functions
> it was looking for, so print them out in this case. Also do the same
> for '!Pfile doc-section'
> 
> The same error also happens when using '!Efile' when some exported
> functions aren't documented (in the same file.) There's a very large
> number of such functions though, so don't print the message in this
> case -- right now it would give ~850 messages.
> 
> Signed-off-by: Johannes Berg <johannes.berg@xxxxxxxxx>

Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>

Michal, please merge this patch.

Thanks.

> ---
>  scripts/docproc.c  | 14 +++++++++-----
>  scripts/kernel-doc |  6 ++++++
>  2 files changed, 15 insertions(+), 5 deletions(-)
> 
> diff --git a/scripts/docproc.c b/scripts/docproc.c
> index 4cfdc17..2b69eaf 100644
> --- a/scripts/docproc.c
> +++ b/scripts/docproc.c
> @@ -72,6 +72,7 @@ FILELINE * docsection;
>  #define FUNCTION      "-function"
>  #define NOFUNCTION    "-nofunction"
>  #define NODOCSECTIONS "-no-doc-sections"
> +#define SHOWNOTFOUND  "-show-not-found"
>  
>  static char *srctree, *kernsrctree;
>  
> @@ -294,6 +295,7 @@ static void singfunc(char * filename, char * line)
>          int startofsym = 1;
>  	vec[idx++] = KERNELDOC;
>  	vec[idx++] = DOCBOOK;
> +	vec[idx++] = SHOWNOTFOUND;
>  
>          /* Split line up in individual parameters preceded by FUNCTION */
>          for (i=0; line[i]; i++) {
> @@ -325,7 +327,8 @@ static void singfunc(char * filename, char * line)
>   */
>  static void docsect(char *filename, char *line)
>  {
> -	char *vec[6]; /* kerneldoc -docbook -function "section" file NULL */
> +	/* kerneldoc -docbook -show-not-found -function "section" file NULL */
> +	char *vec[7];
>  	char *s;
>  
>  	for (s = line; *s; s++)
> @@ -341,10 +344,11 @@ static void docsect(char *filename, char *line)
>  
>  	vec[0] = KERNELDOC;
>  	vec[1] = DOCBOOK;
> -	vec[2] = FUNCTION;
> -	vec[3] = line;
> -	vec[4] = filename;
> -	vec[5] = NULL;
> +	vec[2] = SHOWNOTFOUND;
> +	vec[3] = FUNCTION;
> +	vec[4] = line;
> +	vec[5] = filename;
> +	vec[6] = NULL;
>  	exec_kernel_doc(vec);
>  }
>  
> diff --git a/scripts/kernel-doc b/scripts/kernel-doc
> index 4305b2f..dbd3e1e 100755
> --- a/scripts/kernel-doc
> +++ b/scripts/kernel-doc
> @@ -257,6 +257,7 @@ my $man_date = ('January', 'February', 'March', 'April', 'May', 'June',
>  		'July', 'August', 'September', 'October',
>  		'November', 'December')[(localtime)[4]] .
>    " " . ((localtime)[5]+1900);
> +my $show_not_found = 0;
>  
>  # Essentially these are globals.
>  # They probably want to be tidied up, made more localised or something.
> @@ -369,6 +370,8 @@ while ($ARGV[0] =~ m/^-(.*)/) {
>  	usage();
>      } elsif ($cmd eq '-no-doc-sections') {
>  	    $no_doc_sections = 1;
> +    } elsif ($cmd eq '-show-not-found') {
> +	$show_not_found = 1;
>      }
>  }
>  
> @@ -2536,6 +2539,9 @@ sub process_file($) {
>      }
>      if ($initial_section_counter == $section_counter) {
>  	print STDERR "Warning(${file}): no structured comments found\n";
> +	if (($function_only == 1) && ($show_not_found == 1)) {
> +	    print STDERR "    Was looking for '$_'.\n" for keys %function_table;
> +	}
>  	if ($output_mode eq "xml") {
>  	    # The template wants at least one RefEntry here; make one.
>  	    print "<refentry>\n";
> 


-- 
~Randy
--
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