diff options
author | Borislav Petkov <bbpetkov@yahoo.de> | 2007-05-08 00:29:05 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-08 11:15:09 -0700 |
commit | 884f2810b15b6bb489c9dca5013aafbea2f19fba (patch) | |
tree | 24db99adbe273fea1c2ce695ebde49fb00be9e51 /scripts/kernel-doc | |
parent | 1525dccbc248b87568f2477f1b2d417b69d418c3 (diff) | |
download | linux-884f2810b15b6bb489c9dca5013aafbea2f19fba.tar.gz linux-884f2810b15b6bb489c9dca5013aafbea2f19fba.tar.bz2 linux-884f2810b15b6bb489c9dca5013aafbea2f19fba.zip |
kernel-doc: handle arrays with arithmetic expressions as initializers
In a different approach here's a patch that handles the special case of
composite arithmetic expressions in array size initializers. With it,
prior to pushing the split strings on the @first_arg array, I split the
keywords before the array name as before and then keep the array name along
with the subscript expression as a single whole element which gets pushed
last. In this manner, kernel-doc produces correct output without removing
whitespaces which makes the array subscripts unreadable in the docs.
Signed-off-by: Borislav Petkov <bbpetkov@yahoo.de>
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'scripts/kernel-doc')
-rwxr-xr-x | scripts/kernel-doc | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/scripts/kernel-doc b/scripts/kernel-doc index c3a4854e5ee9..c47eb31d604c 100755 --- a/scripts/kernel-doc +++ b/scripts/kernel-doc @@ -1456,7 +1456,16 @@ sub create_parameterlist($$$) { if ($args[0] =~ m/\*/) { $args[0] =~ s/(\*+)\s*/ $1/; } - my @first_arg = split('\s+', shift @args); + + my @first_arg; + if ($args[0] =~ /^(.*\s+)(.*?\[.*\].*)$/) { + shift @args; + push(@first_arg, split('\s+', $1)); + push(@first_arg, $2); + } else { + @first_arg = split('\s+', shift @args); + } + unshift(@args, pop @first_arg); $type = join " ", @first_arg; |