summaryrefslogtreecommitdiff
path: root/Documentation/sphinx/parse-headers.pl
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@s-opensource.com>2016-07-07 06:52:10 -0300
committerMauro Carvalho Chehab <mchehab@s-opensource.com>2016-07-07 06:54:00 -0300
commit9afe51129ba2b275c6464d485dd6e2c9d3deb72e (patch)
tree1b45e106940b36413217b09ead6fdeb055067ac0 /Documentation/sphinx/parse-headers.pl
parent7d95fa8d667ab515ed25b6e2270723e748c55889 (diff)
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 <mchehab@s-opensource.com>
Diffstat (limited to 'Documentation/sphinx/parse-headers.pl')
-rwxr-xr-xDocumentation/sphinx/parse-headers.pl17
1 files 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 (<IN>) {
+ 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 (<IN>) {
}
$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 (<IN>) {
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 (<IN>) {
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 (<IN>) {
$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 (<IN>) {
$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/;