aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support/multipath-tools/files/0008-multipath-tools-refresh-kernel-doc-from-kernel-sourc.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-support/multipath-tools/files/0008-multipath-tools-refresh-kernel-doc-from-kernel-sourc.patch')
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/0008-multipath-tools-refresh-kernel-doc-from-kernel-sourc.patch784
1 files changed, 0 insertions, 784 deletions
diff --git a/meta-oe/recipes-support/multipath-tools/files/0008-multipath-tools-refresh-kernel-doc-from-kernel-sourc.patch b/meta-oe/recipes-support/multipath-tools/files/0008-multipath-tools-refresh-kernel-doc-from-kernel-sourc.patch
deleted file mode 100644
index 3752158704..0000000000
--- a/meta-oe/recipes-support/multipath-tools/files/0008-multipath-tools-refresh-kernel-doc-from-kernel-sourc.patch
+++ /dev/null
@@ -1,784 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Xose Vazquez Perez <xose.vazquez@gmail.com>
-Date: Sun, 13 May 2018 00:39:42 +0200
-Subject: [PATCH] multipath-tools: refresh kernel-doc from kernel sources
-
-Cc: Gris Ge <fge@redhat.com>
-Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
-Cc: device-mapper development <dm-devel@redhat.com>
-Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
-Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
----
- libdmmp/docs/kernel-doc | 671 ++++++++++++++++++++++++++----------------------
- 1 file changed, 368 insertions(+), 303 deletions(-)
-
-diff --git a/libdmmp/docs/kernel-doc b/libdmmp/docs/kernel-doc
-index fee8952..0057d8e 100755
---- a/libdmmp/docs/kernel-doc
-+++ b/libdmmp/docs/kernel-doc
-@@ -1,4 +1,5 @@
- #!/usr/bin/env perl
-+# SPDX-License-Identifier: GPL-2.0
-
- use warnings;
- use strict;
-@@ -328,13 +329,15 @@ my $lineprefix="";
- use constant {
- STATE_NORMAL => 0, # normal code
- STATE_NAME => 1, # looking for function name
-- STATE_FIELD => 2, # scanning field start
-- STATE_PROTO => 3, # scanning prototype
-- STATE_DOCBLOCK => 4, # documentation block
-- STATE_INLINE => 5, # gathering documentation outside main block
-+ STATE_BODY_MAYBE => 2, # body - or maybe more description
-+ STATE_BODY => 3, # the body of the comment
-+ STATE_PROTO => 4, # scanning prototype
-+ STATE_DOCBLOCK => 5, # documentation block
-+ STATE_INLINE => 6, # gathering documentation outside main block
- };
- my $state;
- my $in_doc_sect;
-+my $leading_space;
-
- # Inline documentation state
- use constant {
-@@ -363,7 +366,7 @@ my $doc_sect = $doc_com .
- my $doc_content = $doc_com_body . '(.*)';
- my $doc_block = $doc_com . 'DOC:\s*(.*)?';
- my $doc_inline_start = '^\s*/\*\*\s*$';
--my $doc_inline_sect = '\s*\*\s*(@[\w\s]+):(.*)';
-+my $doc_inline_sect = '\s*\*\s*(@\s*[\w][\w\.]*\s*):(.*)';
- my $doc_inline_end = '^\s*\*/\s*$';
- my $doc_inline_oneline = '^\s*/\*\*\s*(@[\w\s]+):\s*(.*)\s*\*/\s*$';
- my $export_symbol = '^\s*EXPORT_SYMBOL(_GPL)?\s*\(\s*(\w+)\s*\)\s*;';
-@@ -553,10 +556,9 @@ sub output_highlight {
- }
- if ($line eq ""){
- if (! $output_preformatted) {
-- print $lineprefix, local_unescape($blankline);
-+ print $lineprefix, $blankline;
- }
- } else {
-- $line =~ s/\\\\\\/\&/g;
- if ($output_mode eq "man" && substr($line, 0, 1) eq ".") {
- print "\\&$line";
- } else {
-@@ -747,17 +749,73 @@ sub output_blockhead_rst(%) {
- }
- }
-
--sub output_highlight_rst {
-- my $contents = join "\n",@_;
-- my $line;
--
-- # undo the evil effects of xml_escape() earlier
-- $contents = xml_unescape($contents);
--
-+#
-+# Apply the RST highlights to a sub-block of text.
-+#
-+sub highlight_block($) {
-+ # The dohighlight kludge requires the text be called $contents
-+ my $contents = shift;
- eval $dohighlight;
- die $@ if $@;
-+ return $contents;
-+}
-
-- foreach $line (split "\n", $contents) {
-+#
-+# Regexes used only here.
-+#
-+my $sphinx_literal = '^[^.].*::$';
-+my $sphinx_cblock = '^\.\.\ +code-block::';
-+
-+sub output_highlight_rst {
-+ my $input = join "\n",@_;
-+ my $output = "";
-+ my $line;
-+ my $in_literal = 0;
-+ my $litprefix;
-+ my $block = "";
-+
-+ foreach $line (split "\n",$input) {
-+ #
-+ # If we're in a literal block, see if we should drop out
-+ # of it. Otherwise pass the line straight through unmunged.
-+ #
-+ if ($in_literal) {
-+ if (! ($line =~ /^\s*$/)) {
-+ #
-+ # If this is the first non-blank line in a literal
-+ # block we need to figure out what the proper indent is.
-+ #
-+ if ($litprefix eq "") {
-+ $line =~ /^(\s*)/;
-+ $litprefix = '^' . $1;
-+ $output .= $line . "\n";
-+ } elsif (! ($line =~ /$litprefix/)) {
-+ $in_literal = 0;
-+ } else {
-+ $output .= $line . "\n";
-+ }
-+ } else {
-+ $output .= $line . "\n";
-+ }
-+ }
-+ #
-+ # Not in a literal block (or just dropped out)
-+ #
-+ if (! $in_literal) {
-+ $block .= $line . "\n";
-+ if (($line =~ /$sphinx_literal/) || ($line =~ /$sphinx_cblock/)) {
-+ $in_literal = 1;
-+ $litprefix = "";
-+ $output .= highlight_block($block);
-+ $block = ""
-+ }
-+ }
-+ }
-+
-+ if ($block) {
-+ $output .= highlight_block($block);
-+ }
-+ foreach $line (split "\n", $output) {
- print $lineprefix . $line . "\n";
- }
- }
-@@ -1062,7 +1120,7 @@ sub dump_struct($$) {
- # Handle bitmaps
- $arg =~ s/:\s*\d+\s*//g;
- # Handle arrays
-- $arg =~ s/\[\S+\]//g;
-+ $arg =~ s/\[.*\]//g;
- # The type may have multiple words,
- # and multiple IDs can be defined, like:
- # const struct foo, *bar, foobar
-@@ -1422,8 +1480,6 @@ sub push_parameter($$$$) {
- }
- }
-
-- $param = xml_escape($param);
--
- # strip spaces from $param so that it is one continuous string
- # on @parameterlist;
- # this fixes a problem where check_sections() cannot find
-@@ -1522,6 +1578,7 @@ sub dump_function($$) {
- $prototype =~ s/__meminit +//;
- $prototype =~ s/__must_check +//;
- $prototype =~ s/__weak +//;
-+ $prototype =~ s/__sched +//;
- my $define = $prototype =~ s/^#\s*define\s+//; #ak added
- $prototype =~ s/__attribute__\s*\(\(
- (?:
-@@ -1748,47 +1805,6 @@ sub process_proto_type($$) {
- }
- }
-
--# xml_escape: replace <, >, and & in the text stream;
--#
--# however, formatting controls that are generated internally/locally in the
--# kernel-doc script are not escaped here; instead, they begin life like
--# $blankline_html (4 of '\' followed by a mnemonic + ':'), then these strings
--# are converted to their mnemonic-expected output, without the 4 * '\' & ':',
--# just before actual output; (this is done by local_unescape())
--sub xml_escape($) {
-- my $text = shift;
-- if ($output_mode eq "man") {
-- return $text;
-- }
-- $text =~ s/\&/\\\\\\amp;/g;
-- $text =~ s/\</\\\\\\lt;/g;
-- $text =~ s/\>/\\\\\\gt;/g;
-- return $text;
--}
--
--# xml_unescape: reverse the effects of xml_escape
--sub xml_unescape($) {
-- my $text = shift;
-- if ($output_mode eq "man") {
-- return $text;
-- }
-- $text =~ s/\\\\\\amp;/\&/g;
-- $text =~ s/\\\\\\lt;/</g;
-- $text =~ s/\\\\\\gt;/>/g;
-- return $text;
--}
--
--# convert local escape strings to html
--# local escape strings look like: '\\\\menmonic:' (that's 4 backslashes)
--sub local_unescape($) {
-- my $text = shift;
-- if ($output_mode eq "man") {
-- return $text;
-- }
-- $text =~ s/\\\\\\\\lt:/</g;
-- $text =~ s/\\\\\\\\gt:/>/g;
-- return $text;
--}
-
- sub map_filename($) {
- my $file;
-@@ -1826,15 +1842,291 @@ sub process_export_file($) {
- close(IN);
- }
-
--sub process_file($) {
-- my $file;
-+#
-+# 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;
-+ }
-+}
-+
-+#
-+# STATE_NAME: Looking for the "name - description" line
-+#
-+sub process_name($$) {
-+ my $file = shift;
- my $identifier;
-- my $func;
- my $descr;
-- my $in_purpose = 0;
-+
-+ if (/$doc_block/o) {
-+ $state = STATE_DOCBLOCK;
-+ $contents = "";
-+ $new_start_line = $. + 1;
-+
-+ if ( $1 eq "" ) {
-+ $section = $section_intro;
-+ } else {
-+ $section = $1;
-+ }
-+ }
-+ elsif (/$doc_decl/o) {
-+ $identifier = $1;
-+ if (/\s*([\w\s]+?)(\(\))?\s*-/) {
-+ $identifier = $1;
-+ }
-+
-+ $state = STATE_BODY;
-+ # if there's no @param blocks need to set up default section
-+ # here
-+ $contents = "";
-+ $section = $section_default;
-+ $new_start_line = $. + 1;
-+ if (/-(.*)/) {
-+ # strip leading/trailing/multiple spaces
-+ $descr= $1;
-+ $descr =~ s/^\s*//;
-+ $descr =~ s/\s*$//;
-+ $descr =~ s/\s+/ /g;
-+ $declaration_purpose = $descr;
-+ $state = STATE_BODY_MAYBE;
-+ } else {
-+ $declaration_purpose = "";
-+ }
-+
-+ if (($declaration_purpose eq "") && $verbose) {
-+ print STDERR "${file}:$.: warning: missing initial short description on line:\n";
-+ print STDERR $_;
-+ ++$warnings;
-+ }
-+
-+ if ($identifier =~ m/^struct/) {
-+ $decl_type = 'struct';
-+ } elsif ($identifier =~ m/^union/) {
-+ $decl_type = 'union';
-+ } elsif ($identifier =~ m/^enum/) {
-+ $decl_type = 'enum';
-+ } elsif ($identifier =~ m/^typedef/) {
-+ $decl_type = 'typedef';
-+ } else {
-+ $decl_type = 'function';
-+ }
-+
-+ if ($verbose) {
-+ print STDERR "${file}:$.: info: Scanning doc for $identifier\n";
-+ }
-+ } else {
-+ print STDERR "${file}:$.: warning: Cannot understand $_ on line $.",
-+ " - I thought it was a doc line\n";
-+ ++$warnings;
-+ $state = STATE_NORMAL;
-+ }
-+}
-+
-+
-+#
-+# STATE_BODY and STATE_BODY_MAYBE: the bulk of a kerneldoc comment.
-+#
-+sub process_body($$) {
-+ my $file = shift;
-+
-+ if (/$doc_sect/i) { # case insensitive for supported section names
-+ $newsection = $1;
-+ $newcontents = $2;
-+
-+ # map the supported section names to the canonical names
-+ if ($newsection =~ m/^description$/i) {
-+ $newsection = $section_default;
-+ } elsif ($newsection =~ m/^context$/i) {
-+ $newsection = $section_context;
-+ } elsif ($newsection =~ m/^returns?$/i) {
-+ $newsection = $section_return;
-+ } elsif ($newsection =~ m/^\@return$/) {
-+ # special: @return is a section, not a param description
-+ $newsection = $section_return;
-+ }
-+
-+ if (($contents ne "") && ($contents ne "\n")) {
-+ if (!$in_doc_sect && $verbose) {
-+ print STDERR "${file}:$.: warning: contents before sections\n";
-+ ++$warnings;
-+ }
-+ dump_section($file, $section, $contents);
-+ $section = $section_default;
-+ }
-+
-+ $in_doc_sect = 1;
-+ $state = STATE_BODY;
-+ $contents = $newcontents;
-+ $new_start_line = $.;
-+ while (substr($contents, 0, 1) eq " ") {
-+ $contents = substr($contents, 1);
-+ }
-+ if ($contents ne "") {
-+ $contents .= "\n";
-+ }
-+ $section = $newsection;
-+ $leading_space = undef;
-+ } elsif (/$doc_end/) {
-+ if (($contents ne "") && ($contents ne "\n")) {
-+ dump_section($file, $section, $contents);
-+ $section = $section_default;
-+ $contents = "";
-+ }
-+ # look for doc_com + <text> + doc_end:
-+ if ($_ =~ m'\s*\*\s*[a-zA-Z_0-9:\.]+\*/') {
-+ print STDERR "${file}:$.: warning: suspicious ending line: $_";
-+ ++$warnings;
-+ }
-+
-+ $prototype = "";
-+ $state = STATE_PROTO;
-+ $brcount = 0;
-+ } elsif (/$doc_content/) {
-+ # miguel-style comment kludge, look for blank lines after
-+ # @parameter line to signify start of description
-+ if ($1 eq "") {
-+ if ($section =~ m/^@/ || $section eq $section_context) {
-+ dump_section($file, $section, $contents);
-+ $section = $section_default;
-+ $contents = "";
-+ $new_start_line = $.;
-+ } else {
-+ $contents .= "\n";
-+ }
-+ $state = STATE_BODY;
-+ } elsif ($state == STATE_BODY_MAYBE) {
-+ # Continued declaration purpose
-+ chomp($declaration_purpose);
-+ $declaration_purpose .= " " . $1;
-+ $declaration_purpose =~ s/\s+/ /g;
-+ } else {
-+ my $cont = $1;
-+ if ($section =~ m/^@/ || $section eq $section_context) {
-+ if (!defined $leading_space) {
-+ if ($cont =~ m/^(\s+)/) {
-+ $leading_space = $1;
-+ } else {
-+ $leading_space = "";
-+ }
-+ }
-+ $cont =~ s/^$leading_space//;
-+ }
-+ $contents .= $cont . "\n";
-+ }
-+ } else {
-+ # i dont know - bad line? ignore.
-+ print STDERR "${file}:$.: warning: bad line: $_";
-+ ++$warnings;
-+ }
-+}
-+
-+
-+#
-+# 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);
-+ }
-+}
-+
-+#
-+# STATE_DOCBLOCK: within a DOC: block.
-+#
-+sub process_docblock($$) {
-+ my $file = shift;
-+
-+ if (/$doc_end/) {
-+ dump_doc_section($file, $section, $contents);
-+ $section = $section_default;
-+ $contents = "";
-+ $function = "";
-+ %parameterdescs = ();
-+ %parametertypes = ();
-+ @parameterlist = ();
-+ %sections = ();
-+ @sectionlist = ();
-+ $prototype = "";
-+ $state = STATE_NORMAL;
-+ } elsif (/$doc_content/) {
-+ if ( $1 eq "" ) {
-+ $contents .= $blankline;
-+ } else {
-+ $contents .= $1 . "\n";
-+ }
-+ }
-+}
-+
-+#
-+# STATE_INLINE: docbook comments within a prototype.
-+#
-+sub process_inline($$) {
-+ my $file = shift;
-+
-+ # First line (state 1) needs to be a @parameter
-+ if ($inline_doc_state == STATE_INLINE_NAME && /$doc_inline_sect/o) {
-+ $section = $1;
-+ $contents = $2;
-+ $new_start_line = $.;
-+ if ($contents ne "") {
-+ while (substr($contents, 0, 1) eq " ") {
-+ $contents = substr($contents, 1);
-+ }
-+ $contents .= "\n";
-+ }
-+ $inline_doc_state = STATE_INLINE_TEXT;
-+ # Documentation block end */
-+ } elsif (/$doc_inline_end/) {
-+ if (($contents ne "") && ($contents ne "\n")) {
-+ dump_section($file, $section, $contents);
-+ $section = $section_default;
-+ $contents = "";
-+ }
-+ $state = STATE_PROTO;
-+ $inline_doc_state = STATE_INLINE_NA;
-+ # Regular text
-+ } elsif (/$doc_content/) {
-+ if ($inline_doc_state == STATE_INLINE_TEXT) {
-+ $contents .= $1 . "\n";
-+ # nuke leading blank lines
-+ if ($contents =~ /^\s*$/) {
-+ $contents = "";
-+ }
-+ } elsif ($inline_doc_state == STATE_INLINE_NAME) {
-+ $inline_doc_state = STATE_INLINE_ERROR;
-+ print STDERR "${file}:$.: warning: ";
-+ print STDERR "Incorrect use of kernel-doc format: $_";
-+ ++$warnings;
-+ }
-+ }
-+}
-+
-+
-+sub process_file($) {
-+ my $file;
- my $initial_section_counter = $section_counter;
- my ($orig_file) = @_;
-- my $leading_space;
-
- $file = map_filename($orig_file);
-
-@@ -1853,250 +2145,23 @@ sub process_file($) {
- }
- # Replace tabs by spaces
- while ($_ =~ s/\t+/' ' x (length($&) * 8 - length($`) % 8)/e) {};
-+ # Hand this line to the appropriate state handler
- 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;
-- }
-- } elsif ($state == STATE_NAME) {# this line is the function name (always)
-- if (/$doc_block/o) {
-- $state = STATE_DOCBLOCK;
-- $contents = "";
-- $new_start_line = $. + 1;
--
-- if ( $1 eq "" ) {
-- $section = $section_intro;
-- } else {
-- $section = $1;
-- }
-- }
-- elsif (/$doc_decl/o) {
-- $identifier = $1;
-- if (/\s*([\w\s]+?)\s*-/) {
-- $identifier = $1;
-- }
--
-- $state = STATE_FIELD;
-- # if there's no @param blocks need to set up default section
-- # here
-- $contents = "";
-- $section = $section_default;
-- $new_start_line = $. + 1;
-- if (/-(.*)/) {
-- # strip leading/trailing/multiple spaces
-- $descr= $1;
-- $descr =~ s/^\s*//;
-- $descr =~ s/\s*$//;
-- $descr =~ s/\s+/ /g;
-- $declaration_purpose = xml_escape($descr);
-- $in_purpose = 1;
-- } else {
-- $declaration_purpose = "";
-- }
--
-- if (($declaration_purpose eq "") && $verbose) {
-- print STDERR "${file}:$.: warning: missing initial short description on line:\n";
-- print STDERR $_;
-- ++$warnings;
-- }
--
-- if ($identifier =~ m/^struct/) {
-- $decl_type = 'struct';
-- } elsif ($identifier =~ m/^union/) {
-- $decl_type = 'union';
-- } elsif ($identifier =~ m/^enum/) {
-- $decl_type = 'enum';
-- } elsif ($identifier =~ m/^typedef/) {
-- $decl_type = 'typedef';
-- } else {
-- $decl_type = 'function';
-- }
--
-- if ($verbose) {
-- print STDERR "${file}:$.: info: Scanning doc for $identifier\n";
-- }
-- } else {
-- print STDERR "${file}:$.: warning: Cannot understand $_ on line $.",
-- " - I thought it was a doc line\n";
-- ++$warnings;
-- $state = STATE_NORMAL;
-- }
-- } elsif ($state == STATE_FIELD) { # look for head: lines, and include content
-- if (/$doc_sect/i) { # case insensitive for supported section names
-- $newsection = $1;
-- $newcontents = $2;
--
-- # map the supported section names to the canonical names
-- if ($newsection =~ m/^description$/i) {
-- $newsection = $section_default;
-- } elsif ($newsection =~ m/^context$/i) {
-- $newsection = $section_context;
-- } elsif ($newsection =~ m/^returns?$/i) {
-- $newsection = $section_return;
-- } elsif ($newsection =~ m/^\@return$/) {
-- # special: @return is a section, not a param description
-- $newsection = $section_return;
-- }
--
-- if (($contents ne "") && ($contents ne "\n")) {
-- if (!$in_doc_sect && $verbose) {
-- print STDERR "${file}:$.: warning: contents before sections\n";
-- ++$warnings;
-- }
-- dump_section($file, $section, xml_escape($contents));
-- $section = $section_default;
-- }
--
-- $in_doc_sect = 1;
-- $in_purpose = 0;
-- $contents = $newcontents;
-- $new_start_line = $.;
-- while (substr($contents, 0, 1) eq " ") {
-- $contents = substr($contents, 1);
-- }
-- if ($contents ne "") {
-- $contents .= "\n";
-- }
-- $section = $newsection;
-- $leading_space = undef;
-- } elsif (/$doc_end/) {
-- if (($contents ne "") && ($contents ne "\n")) {
-- dump_section($file, $section, xml_escape($contents));
-- $section = $section_default;
-- $contents = "";
-- }
-- # look for doc_com + <text> + doc_end:
-- if ($_ =~ m'\s*\*\s*[a-zA-Z_0-9:\.]+\*/') {
-- print STDERR "${file}:$.: warning: suspicious ending line: $_";
-- ++$warnings;
-- }
--
-- $prototype = "";
-- $state = STATE_PROTO;
-- $brcount = 0;
--# print STDERR "end of doc comment, looking for prototype\n";
-- } elsif (/$doc_content/) {
-- # miguel-style comment kludge, look for blank lines after
-- # @parameter line to signify start of description
-- if ($1 eq "") {
-- if ($section =~ m/^@/ || $section eq $section_context) {
-- dump_section($file, $section, xml_escape($contents));
-- $section = $section_default;
-- $contents = "";
-- $new_start_line = $.;
-- } else {
-- $contents .= "\n";
-- }
-- $in_purpose = 0;
-- } elsif ($in_purpose == 1) {
-- # Continued declaration purpose
-- chomp($declaration_purpose);
-- $declaration_purpose .= " " . xml_escape($1);
-- $declaration_purpose =~ s/\s+/ /g;
-- } else {
-- my $cont = $1;
-- if ($section =~ m/^@/ || $section eq $section_context) {
-- if (!defined $leading_space) {
-- if ($cont =~ m/^(\s+)/) {
-- $leading_space = $1;
-- } else {
-- $leading_space = "";
-- }
-- }
--
-- $cont =~ s/^$leading_space//;
-- }
-- $contents .= $cont . "\n";
-- }
-- } else {
-- # i dont know - bad line? ignore.
-- print STDERR "${file}:$.: warning: bad line: $_";
-- ++$warnings;
-- }
-+ process_normal();
-+ } elsif ($state == STATE_NAME) {
-+ process_name($file, $_);
-+ } elsif ($state == STATE_BODY || $state == STATE_BODY_MAYBE) {
-+ process_body($file, $_);
- } elsif ($state == STATE_INLINE) { # scanning for inline parameters
-- # First line (state 1) needs to be a @parameter
-- if ($inline_doc_state == STATE_INLINE_NAME && /$doc_inline_sect/o) {
-- $section = $1;
-- $contents = $2;
-- $new_start_line = $.;
-- if ($contents ne "") {
-- while (substr($contents, 0, 1) eq " ") {
-- $contents = substr($contents, 1);
-- }
-- $contents .= "\n";
-- }
-- $inline_doc_state = STATE_INLINE_TEXT;
-- # Documentation block end */
-- } elsif (/$doc_inline_end/) {
-- if (($contents ne "") && ($contents ne "\n")) {
-- dump_section($file, $section, xml_escape($contents));
-- $section = $section_default;
-- $contents = "";
-- }
-- $state = STATE_PROTO;
-- $inline_doc_state = STATE_INLINE_NA;
-- # Regular text
-- } elsif (/$doc_content/) {
-- if ($inline_doc_state == STATE_INLINE_TEXT) {
-- $contents .= $1 . "\n";
-- # nuke leading blank lines
-- if ($contents =~ /^\s*$/) {
-- $contents = "";
-- }
-- } elsif ($inline_doc_state == STATE_INLINE_NAME) {
-- $inline_doc_state = STATE_INLINE_ERROR;
-- print STDERR "${file}:$.: warning: ";
-- print STDERR "Incorrect use of kernel-doc format: $_";
-- ++$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, xml_escape($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);
-- }
-+ process_inline($file, $_);
-+ } elsif ($state == STATE_PROTO) {
-+ process_proto($file, $_);
- } elsif ($state == STATE_DOCBLOCK) {
-- if (/$doc_end/)
-- {
-- dump_doc_section($file, $section, xml_escape($contents));
-- $section = $section_default;
-- $contents = "";
-- $function = "";
-- %parameterdescs = ();
-- %parametertypes = ();
-- @parameterlist = ();
-- %sections = ();
-- @sectionlist = ();
-- $prototype = "";
-- $state = STATE_NORMAL;
-- }
-- elsif (/$doc_content/)
-- {
-- if ( $1 eq "" )
-- {
-- $contents .= $blankline;
-- }
-- else
-- {
-- $contents .= $1 . "\n";
-- }
-- }
-+ process_docblock($file, $_);
- }
- }
-+
-+ # Make sure we got something interesting.
- if ($initial_section_counter == $section_counter) {
- if ($output_mode ne "none") {
- print STDERR "${file}:1: warning: no structured comments found\n";
---
-2.7.4
-