浏览代码

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

svn:r5159
Nick Mathewson 19 年之前
父节点
当前提交
6ce1add8da
共有 1 个文件被更改,包括 19 次插入0 次删除
  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) {