From ec0a5c96ac2f31d09651f04c8b24a30d1f6fa118 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 23 Nov 2016 08:29:42 +0100 Subject: checksrc: verify ASTERISKNOSPACE Detects (char*) and 'char*foo' uses. --- lib/checksrc.pl | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/checksrc.pl b/lib/checksrc.pl index 9eb76f47e..9a74a6f46 100755 --- a/lib/checksrc.pl +++ b/lib/checksrc.pl @@ -56,7 +56,8 @@ my %warnings = ( 'BADCOMMAND' => 'bad !checksrc! instruction', 'UNUSEDIGNORE' => 'a warning ignore was not used', 'OPENCOMMENT' => 'file ended with a /* comment still "open"', - 'ASTERISKSPACE' => 'pointer declared with space after asterisk' + 'ASTERISKSPACE' => 'pointer declared with space after asterisk', + 'ASTERISKNOSPACE' => 'pointer declared without space before asterisk' ); sub readwhitelist { @@ -473,11 +474,17 @@ sub scanfile { } # check for 'char * name' - if(($l =~ /(^.*(char|int|long|void|curl_slist|CURL|CURLM|CURLMsg|curl_httppost) *\*) (\w+)/) && ($3 ne "const")) { - checkwarn("ASTERISKSPACE", + if(($l =~ /(^.*(char|int|long|void|curl_slist|CURL|CURLM|CURLMsg|curl_httppost) *(\*+)) (\w+)/) && ($4 ne "const")) { + checkwarn("ASTERISKNOSPACE", $line, length($1), $file, $ol, "no space after declarative asterisk"); } + # check for 'char*' + if(($l =~ /(^.*(char|int|long|void|curl_slist|CURL|CURLM|CURLMsg|curl_httppost|sockaddr_in|FILE)\*)/)) { + checkwarn("ASTERISKNOSPACE", + $line, length($1)-1, $file, $ol, + "no space before asterisk"); + } $line++; $prevl = $ol; } -- cgit v1.2.3