Revert "Update to 7.44.0"
[platform/upstream/curl.git] / lib / checksrc.pl
index 99bbc74..f561492 100755 (executable)
@@ -6,7 +6,7 @@
 #                            | (__| |_| |  _ <| |___
 #                             \___|\___/|_| \_\_____|
 #
-# Copyright (C) 2011, Daniel Stenberg, <daniel@haxx.se>, et al.
+# Copyright (C) 2011 - 2013, Daniel Stenberg, <daniel@haxx.se>, et al.
 #
 # This software is licensed as described in the file COPYING, which
 # you should have received as part of this distribution. The terms
@@ -62,7 +62,7 @@ while(1) {
         next;
     }
     elsif($file =~ /-W(.*)/) {
-        $wlist = $1;
+        $wlist .= " $1 ";
         $file = shift @ARGV;
         next;
     }
@@ -79,9 +79,9 @@ if(!$file) {
 }
 
 do {
-    if($file ne "$wlist") {
+    if("$wlist" !~ / $file /) {
         my $fullname = $file;
-        $fullname = "$dir/$file" if $fullname !~ '^/';
+        $fullname = "$dir/$file" if ($fullname !~ '^\.?\.?/');
         scanfile($fullname);
     }
     $file = shift @ARGV;
@@ -118,7 +118,7 @@ sub scanfile {
             checkwarn($line, length($1), $file, $l, "Contains TAB character", 1);
         }
         # detect trailing white space
-        if($l =~ /^(\S+)[ \t]+\z/) {
+        if($l =~ /^(.*)[ \t]+\z/) {
             checkwarn($line, length($1), $file, $l, "Trailing whitespace");
         }
 
@@ -145,9 +145,20 @@ sub scanfile {
         }
 
         # check for "} else"
-        if($l =~ /^(.*)\} else/) {
+        if($l =~ /^(.*)\} *else/) {
             checkwarn($line, length($1), $file, $l, "else after closing brace on same line");
         }
+        # check for "){"
+        if($l =~ /^(.*)\)\{/) {
+            checkwarn($line, length($1)+1, $file, $l, "missing space after close paren");
+        }
+
+        # scan for use of banned functions
+        if($l =~ /^(.*\W)(sprintf|vsprintf|strcat|strncat|gets)\s*\(/) {
+            checkwarn($line, length($1), $file, $l,
+                      "use of $2 is banned");
+        }
+
         # check for open brace first on line but not first column
         # only alert if previous line ended with a close paren and wasn't a cpp
         # line