From: Mauro Carvalho Chehab Date: Thu, 7 Jul 2016 11:09:37 +0000 (-0300) Subject: doc-rst: parse-headers: fix multiline typedef handler X-Git-Tag: v4.8-rc1~131^2^2~197 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=4ff916a0c901559d4913bfdb2e5f676c9856b969;p=karo-tx-linux.git 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 --- 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/_/-/;