diff mbox series

[6/8] docs: kernel-doc: Move STATE_PROTO processing into its own function

Message ID 20180207172624.24555-7-corbet@lwn.net
State Superseded
Headers show
Series Clean up kernel-doc and fix literal-block handling | expand

Commit Message

Jonathan Corbet Feb. 7, 2018, 5:26 p.m. UTC
Move the top-level prototype-processing code out of process_file().

Signed-off-by: Jonathan Corbet <corbet@lwn.net>

---
 scripts/kernel-doc | 46 ++++++++++++++++++++++++++++------------------
 1 file changed, 28 insertions(+), 18 deletions(-)

-- 
2.14.3

Comments

Jani Nikula Feb. 9, 2018, 9:33 a.m. UTC | #1
On Wed, 07 Feb 2018, Jonathan Corbet <corbet@lwn.net> wrote:
> Move the top-level prototype-processing code out of process_file().

>

> Signed-off-by: Jonathan Corbet <corbet@lwn.net>


Reviewed-by: Jani Nikula <jani.nikula@intel.com>


> ---

>  scripts/kernel-doc | 46 ++++++++++++++++++++++++++++------------------

>  1 file changed, 28 insertions(+), 18 deletions(-)

>

> diff --git a/scripts/kernel-doc b/scripts/kernel-doc

> index a6a7bb46ea29..2deddb876156 100755

> --- a/scripts/kernel-doc

> +++ b/scripts/kernel-doc

> @@ -1965,6 +1965,32 @@ sub process_body($$) {

>  }

>  

>  

> +#

> +# STATE_PROTO: reading a function/whatever prototype.

> +#

> +sub process_proto($$) {

> +    my $file = shift;

> +

> +    if (/$doc_inline_oneline/) {

> +	$section = $1;

> +	$contents = $2;

> +	if ($contents ne "") {

> +	    $contents .= "\n";

> +	    dump_section($file, $section, $contents);

> +	    $section = $section_default;

> +	    $contents = "";

> +	}

> +    } elsif (/$doc_inline_start/) {

> +	$state = STATE_INLINE;

> +	$inline_doc_state = STATE_INLINE_NAME;

> +    } elsif ($decl_type eq 'function') {

> +	process_proto_function($_, $file);

> +    } else {

> +	process_proto_type($_, $file);

> +    }

> +}

> +

> +

>  sub process_file($) {

>      my $file;

>      my $func;

> @@ -2031,24 +2057,8 @@ sub process_file($) {

>  		    ++$warnings;

>  		}

>  	    }

> -	} elsif ($state == STATE_PROTO) {	# scanning for function '{' (end of prototype)

> -	    if (/$doc_inline_oneline/) {

> -		$section = $1;

> -		$contents = $2;

> -		if ($contents ne "") {

> -		    $contents .= "\n";

> -		    dump_section($file, $section, $contents);

> -		    $section = $section_default;

> -		    $contents = "";

> -		}

> -	    } elsif (/$doc_inline_start/) {

> -		$state = STATE_INLINE;

> -		$inline_doc_state = STATE_INLINE_NAME;

> -	    } elsif ($decl_type eq 'function') {

> -		process_proto_function($_, $file);

> -	    } else {

> -		process_proto_type($_, $file);

> -	    }

> +	} elsif ($state == STATE_PROTO) {

> +	    process_proto($file, $_);

>  	} elsif ($state == STATE_DOCBLOCK) {

>  		if (/$doc_end/)

>  		{


-- 
Jani Nikula, Intel Open Source Technology Center
diff mbox series

Patch

diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index a6a7bb46ea29..2deddb876156 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -1965,6 +1965,32 @@  sub process_body($$) {
 }
 
 
+#
+# STATE_PROTO: reading a function/whatever prototype.
+#
+sub process_proto($$) {
+    my $file = shift;
+
+    if (/$doc_inline_oneline/) {
+	$section = $1;
+	$contents = $2;
+	if ($contents ne "") {
+	    $contents .= "\n";
+	    dump_section($file, $section, $contents);
+	    $section = $section_default;
+	    $contents = "";
+	}
+    } elsif (/$doc_inline_start/) {
+	$state = STATE_INLINE;
+	$inline_doc_state = STATE_INLINE_NAME;
+    } elsif ($decl_type eq 'function') {
+	process_proto_function($_, $file);
+    } else {
+	process_proto_type($_, $file);
+    }
+}
+
+
 sub process_file($) {
     my $file;
     my $func;
@@ -2031,24 +2057,8 @@  sub process_file($) {
 		    ++$warnings;
 		}
 	    }
-	} elsif ($state == STATE_PROTO) {	# scanning for function '{' (end of prototype)
-	    if (/$doc_inline_oneline/) {
-		$section = $1;
-		$contents = $2;
-		if ($contents ne "") {
-		    $contents .= "\n";
-		    dump_section($file, $section, $contents);
-		    $section = $section_default;
-		    $contents = "";
-		}
-	    } elsif (/$doc_inline_start/) {
-		$state = STATE_INLINE;
-		$inline_doc_state = STATE_INLINE_NAME;
-	    } elsif ($decl_type eq 'function') {
-		process_proto_function($_, $file);
-	    } else {
-		process_proto_type($_, $file);
-	    }
+	} elsif ($state == STATE_PROTO) {
+	    process_proto($file, $_);
 	} elsif ($state == STATE_DOCBLOCK) {
 		if (/$doc_end/)
 		{