Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 884f2810 authored by Borislav Petkov's avatar Borislav Petkov Committed by Linus Torvalds
Browse files

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: default avatarBorislav Petkov <bbpetkov@yahoo.de>
Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 1525dccb
Loading
Loading
Loading
Loading
+10 −1
Original line number Original line Diff line number Diff line
@@ -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;