From 4ff916a0c901559d4913bfdb2e5f676c9856b969 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Thu, 7 Jul 2016 08:09:37 -0300 Subject: [PATCH] doc-rst: parse-headers: fix multiline typedef handler The typedef handler should do two things to be generic: 1) parse typedef enums; 2) accept both possible syntaxes: typedef struct foo { .. } foo_t; typedef struct { .. } foo_t; Unfortunately, this is needed to parse some legacy DVB files, like dvb/audio.h. Signed-off-by: Mauro Carvalho Chehab --- Documentation/sphinx/parse-headers.pl | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Documentation/sphinx/parse-headers.pl b/Documentation/sphinx/parse-headers.pl index b657cadb53ae..b703f1a7f432 100755 --- a/Documentation/sphinx/parse-headers.pl +++ b/Documentation/sphinx/parse-headers.pl @@ -109,10 +109,11 @@ close IN; # Handle multi-line typedefs # -my @matches = $data =~ m/typedef\s+struct\s+\S+\s*\{[^\}]+\}\s*(\S+)\s*\;/g; +my @matches = ($data =~ m/typedef\s+struct\s+\S+?\s*\{[^\}]+\}\s*(\S+)\s*\;/g, + $data =~ m/typedef\s+enum\s+\S+?\s*\{[^\}]+\}\s*(\S+)\s*\;/g,); foreach my $m (@matches) { - my $s = $1; - my $n = $1; + my $s = $m; + my $n = $m; $n =~ tr/A-Z/a-z/; $n =~ tr/_/-/; -- 2.39.5