diff options
Diffstat (limited to 'scripts/kernel-doc')
| -rwxr-xr-x | scripts/kernel-doc | 38 |
1 files changed, 26 insertions, 12 deletions
diff --git a/scripts/kernel-doc b/scripts/kernel-doc index c97b89f47795..5d03c9086323 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc | |||
| @@ -1041,18 +1041,32 @@ sub dump_struct($$) { | |||
| 1041 | $id =~ s/^\*+//; | 1041 | $id =~ s/^\*+//; |
| 1042 | foreach my $arg (split /;/, $content) { | 1042 | foreach my $arg (split /;/, $content) { |
| 1043 | next if ($arg =~ m/^\s*$/); | 1043 | next if ($arg =~ m/^\s*$/); |
| 1044 | my $type = $arg; | 1044 | if ($arg =~ m/^([^\(]+\(\*?\s*)([\w\.]*)(\s*\).*)/) { |
| 1045 | my $name = $arg; | 1045 | # pointer-to-function |
| 1046 | $type =~ s/\s\S+$//; | 1046 | my $type = $1; |
| 1047 | $name =~ s/.*\s//; | 1047 | my $name = $2; |
| 1048 | $name =~ s/[:\[].*//; | 1048 | my $extra = $3; |
| 1049 | $name =~ s/^\*+//; | 1049 | next if (!$name); |
| 1050 | next if (($name =~ m/^\s*$/)); | 1050 | if ($id =~ m/^\s*$/) { |
| 1051 | if ($id =~ m/^\s*$/) { | 1051 | # anonymous struct/union |
| 1052 | # anonymous struct/union | 1052 | $newmember .= "$type$name$extra;"; |
| 1053 | $newmember .= "$type $name;"; | 1053 | } else { |
| 1054 | $newmember .= "$type$id.$name$extra;"; | ||
| 1055 | } | ||
| 1054 | } else { | 1056 | } else { |
| 1055 | $newmember .= "$type $id.$name;"; | 1057 | my $type = $arg; |
| 1058 | my $name = $arg; | ||
| 1059 | $type =~ s/\s\S+$//; | ||
| 1060 | $name =~ s/.*\s+//; | ||
| 1061 | $name =~ s/[:\[].*//; | ||
| 1062 | $name =~ s/^\*+//; | ||
| 1063 | next if (($name =~ m/^\s*$/)); | ||
| 1064 | if ($id =~ m/^\s*$/) { | ||
| 1065 | # anonymous struct/union | ||
| 1066 | $newmember .= "$type $name;"; | ||
| 1067 | } else { | ||
| 1068 | $newmember .= "$type $id.$name;"; | ||
| 1069 | } | ||
| 1056 | } | 1070 | } |
| 1057 | } | 1071 | } |
| 1058 | $members =~ s/(struct|union)([^{};]+){([^{}]*)}([^{}\;]*)\;/$newmember/; | 1072 | $members =~ s/(struct|union)([^{};]+){([^{}]*)}([^{}\;]*)\;/$newmember/; |
| @@ -1250,7 +1264,7 @@ sub create_parameterlist($$$$) { | |||
| 1250 | } elsif ($arg =~ m/\(.+\)\s*\(/) { | 1264 | } elsif ($arg =~ m/\(.+\)\s*\(/) { |
| 1251 | # pointer-to-function | 1265 | # pointer-to-function |
| 1252 | $arg =~ tr/#/,/; | 1266 | $arg =~ tr/#/,/; |
| 1253 | $arg =~ m/[^\(]+\(\*?\s*(\w*)\s*\)/; | 1267 | $arg =~ m/[^\(]+\(\*?\s*([\w\.]*)\s*\)/; |
| 1254 | $param = $1; | 1268 | $param = $1; |
| 1255 | $type = $arg; | 1269 | $type = $arg; |
| 1256 | $type =~ s/([^\(]+\(\*?)\s*$param/$1/; | 1270 | $type =~ s/([^\(]+\(\*?)\s*$param/$1/; |
