diff options
Diffstat (limited to 'scripts/checksrc.pl')
-rwxr-xr-x | scripts/checksrc.pl | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/scripts/checksrc.pl b/scripts/checksrc.pl index 2aab0ad8f..974184bbd 100755 --- a/scripts/checksrc.pl +++ b/scripts/checksrc.pl @@ -517,7 +517,8 @@ sub scanfile { my $nostr = nostrings($l); # check spaces after for/if/while/function call - if($nostr =~ /^(.*)(for|if|while| ([a-zA-Z0-9_]+)) \((.)/) { + if($nostr =~ /^(.*)(for|if|while|switch| ([a-zA-Z0-9_]+)) \((.)/) { + my ($leading, $word, $extra, $first)=($1,$2,$3,$4); if($1 =~ / *\#/) { # this is a #if, treat it differently } @@ -527,15 +528,16 @@ sub scanfile { elsif(defined $3 && $3 eq "case") { # case must have a space } - elsif($4 eq "*") { - # (* beginning makes the space OK! + elsif(($first eq "*") && ($word !~ /(for|if|while|switch)/)) { + # A "(*" beginning makes the space OK because it wants to + # allow funcion pointer declared } elsif($1 =~ / *typedef/) { # typedefs can use space-paren } else { - checkwarn("SPACEBEFOREPAREN", $line, length($1)+length($2), $file, $l, - "$2 with space"); + checkwarn("SPACEBEFOREPAREN", $line, length($leading)+length($word), $file, $l, + "$word with space"); } } # check for '== NULL' in if/while conditions but not if the thing on |