From: Borislav Petkov Date: Tue, 8 May 2007 07:29:05 +0000 (-0700) Subject: kernel-doc: handle arrays with arithmetic expressions as initializers X-Git-Tag: v2.6.22-rc1~676 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=884f2810b15b6bb489c9dca5013aafbea2f19fba;p=linux-2.6 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 Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/scripts/kernel-doc b/scripts/kernel-doc index c3a4854e5e..c47eb31d60 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;