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>
This commit is contained in:
Borislav Petkov 2007-05-08 00:29:05 -07:00 committed by Linus Torvalds
parent 1525dccbc2
commit 884f2810b1

View file

@ -1456,7 +1456,16 @@ sub create_parameterlist($$$) {
if ($args[0] =~ m/\*/) { if ($args[0] =~ m/\*/) {
$args[0] =~ s/(\*+)\s*/ $1/; $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); unshift(@args, pop @first_arg);
$type = join " ", @first_arg; $type = join " ", @first_arg;