Re: [PATCH 3/8] docs: kernel-doc: Move STATE_NORMAL processing into its own function

Jani Nikula
2018-02-09T09:23:27Z

On Wed, 07 Feb 2018, Jonathan Corbet <corbet@lwn.net> wrote:
> Begin the process of splitting up the nearly 500-line process_file()
> function by moving STATE_NORMAL processing to a separate function.
>
> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
> ---
> scripts/kernel-doc | 21 ++++++++++++++++-----
> 1 file changed, 16 insertions(+), 5 deletions(-)
>
> diff --git a/scripts/kernel-doc b/scripts/kernel-doc
> index ad30c52f91ef..65150b7c8472 100755
> --- a/scripts/kernel-doc
> +++ b/scripts/kernel-doc
> @@ -1780,6 +1780,21 @@ sub process_export_file($) {
> close(IN);
> }
>
> +#
> +# Parsers for the various processing states.
> +#
> +# STATE_NORMAL: looking for the /** to begin everything.
> +#
> +sub process_normal() {
> + if (/$doc_start/o) {
> + $state = STATE_NAME; # next line is always the function name
> + $in_doc_sect = 0;
> + $declaration_start_line = $. + 1;
> + }
> +}
> +
> +
> +

Superfluous whitespace, but fixed in the next patch so I'll look the
other way.

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

> sub process_file($) {
> my $file;
> my $identifier;
> @@ -1807,11 +1822,7 @@ sub process_file($) {
> # Replace tabs by spaces
> while ($_ =~ s/\t+/' ' x (length($&) * 8 - length($`) % 8)/e) {};
> if ($state == STATE_NORMAL) {
> - if (/$doc_start/o) {
> - $state = STATE_NAME; # next line is always the function name
> - $in_doc_sect = 0;
> - $declaration_start_line = $. + 1;
> - }
> + process_normal();
> } elsif ($state == STATE_NAME) {# this line is the function name (always)
> if (/$doc_block/o) {
> $state = STATE_DOCBLOCK;

--
Jani Nikula, Intel Open Source Technology Center