From 9afe51129ba2b275c6464d485dd6e2c9d3deb72e Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Thu, 7 Jul 2016 06:52:10 -0300 Subject: [PATCH] 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 --- Documentation/sphinx/parse-headers.pl | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) 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/; -- 2.39.5