Browse Source

Make checkSpace.pl enforce our ctags-friendly function declaration rules

svn:r5159
Nick Mathewson 19 years ago
parent
commit
6ce1add8da
1 changed files with 19 additions and 0 deletions
  1. 19 0
      contrib/checkSpace.pl

+ 19 - 0
contrib/checkSpace.pl

@@ -81,6 +81,25 @@ for $fn (@ARGV) {
                     print "     fn ():$fn:$.\n";
                 }
             }
+	    ## Warn about functions not declared at start of line.
+	    if ($in_func_head || ($fn !~ /\.h$/ && /^[a-zA-Z0-9_]/ &&
+				  ! /^(?:static )?(?:typedef|struct|union)/ &&
+				  ! /= *\{$/ && ! /;$/)) {
+		
+		if (/.\{$/){
+		    print "fn() {:$fn:$.\n";
+		    $in_func_head = 0;
+		} elsif (/^\S[^\(]* +[a-zA-Z0-9_]+\(/) {
+		    $in_func_head = -1; # started with tp fn
+		} elsif (/;$/) {
+		    $in_func_head = 0;
+		} elsif (/\{/) {
+		    if ($in_func_head == -1) {
+			print "tp fn():$fn:$.\n";
+		    }
+		    $in_func_head = 0;
+		}
+	    }
         }
     }
     if (! $lastnil) {