From: Mauro Carvalho Chehab Date: Thu, 7 Jul 2016 09:52:10 +0000 (-0300) Subject: doc-rst: fix parsing comments and '{' on a separate line X-Git-Tag: v4.8-rc1~131^2^2~200 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=9afe51129ba2b275c6464d485dd6e2c9d3deb72e;p=karo-tx-linux.git doc-rst: fix parsing comments and '{' on a separate line The dmx.h header has two things that causes the parser to break while handling enums: per-header enums and the '{' starts on a new line Both makes the parser to get lexical marks to be detected as if they were symbols. Fix it. Signed-off-by: Mauro Carvalho Chehab --- diff --git a/Documentation/sphinx/parse-headers.pl b/Documentation/sphinx/parse-headers.pl index 59f2c90f6942..bf6f0df895f4 100755 --- a/Documentation/sphinx/parse-headers.pl +++ b/Documentation/sphinx/parse-headers.pl @@ -29,9 +29,12 @@ my %structs; my $is_enum = 0; open IN, $file_in or die "Can't open $file_in"; while () { + my $ln = $_; + $ln =~ s,/\*.*\*/,,; + $data .= $_; - if ($is_enum && m/^\s*([^\s\}\,\=]+)\s*[\,=]?/) { + if ($is_enum && $ln =~ m/^\s*([_A-Z][^\s\}\,\=]+)\s*[\,=]?/) { my $s = $1; my $n = $1; $n =~ tr/A-Z/a-z/; @@ -44,7 +47,7 @@ while () { } $is_enum = 0 if ($is_enum && m/\}/); - if (m/^\s*#\s*define\s+([_A-Z]\S+)\s+_IO/) { + if ($ln =~ m/^\s*#\s*define\s+([_A-Z]\S+)\s+_IO/) { my $s = $1; my $n = $1; $n =~ tr/A-Z/a-z/; @@ -53,7 +56,7 @@ while () { next; } - if (m/^\s*#\s*define\s+([_A-Z]\S+)\s+/) { + if ($ln =~ m/^\s*#\s*define\s+([_A-Z]\S+)\s+/) { my $s = $1; my $n = $1; $n =~ tr/A-Z/a-z/; @@ -63,7 +66,7 @@ while () { next; } - if (m/^\s*typedef\s+.*\s+([_\w]\S+);/) { + if ($ln =~ m/^\s*typedef\s+.*\s+([_\w]\S+);/) { my $s = $1; my $n = $1; $n =~ tr/A-Z/a-z/; @@ -72,7 +75,8 @@ while () { $typedefs{$s} = $n; next; } - if (m/^\s*enum\s+(\S+)\s+\{/ || m/^\s*enum\s+(\S+)$/) { + if ($ln =~ m/^\s*enum\s+(\S+)\s+\{/ + || $ln =~ m/^\s*enum\s+(\S+)$/) { my $s = $1; my $n = $1; $n =~ tr/A-Z/a-z/; @@ -83,7 +87,8 @@ while () { $is_enum = $1; next; } - if (m/^\s*struct\s+([_A-Za-z_]\S+)\s+\{/ || m/^\s*struct\s+([A-Za-z_]\S+)$/) { + if ($ln =~ m/^\s*struct\s+([_A-Za-z_]\S+)\s+\{/ + || $ln =~ m/^\s*struct\s+([A-Za-z_]\S+)$/) { my $s = $1; my $n = $1; $n =~ tr/A-Z/a-z/;