[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[or-cvs] make whitespace checker handle non-C too.



Update of /home/or/cvsroot/tor/contrib
In directory moria:/tmp/cvs-serv7708/contrib

Modified Files:
	checkSpace.pl 
Log Message:
make whitespace checker handle non-C too.

Index: checkSpace.pl
===================================================================
RCS file: /home/or/cvsroot/tor/contrib/checkSpace.pl,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- checkSpace.pl	9 Jun 2005 19:03:31 -0000	1.7
+++ checkSpace.pl	11 Jun 2005 18:52:37 -0000	1.8
@@ -1,5 +1,11 @@
 #!/usr/bin/perl -w
 
+if ($ARGV[0] =~ /^-/) {
+    $lang = shift @ARGV;
+    $C = ($lang eq '-C');
+#    $TXT = ($lang eq '-txt');
+}
+
 for $fn (@ARGV) {
     open(F, "$fn");
     $lastnil = 0;
@@ -18,7 +24,7 @@
             print "Space\@EOL:$fn:$.\n";
         }
 	## Warn about control keywords without following space.
-	if (/\s(?:if|while|for|switch)\(/) {
+	if ($C && /\s(?:if|while|for|switch)\(/) {
 	    print "      KW(:$fn:$.\n";
 	}
 	## Warn about multiple empty lines.
@@ -31,49 +37,51 @@
         }
 	### Juju to skip over comments and strings, since the tests
 	### we're about to do are okay there.
-	if ($incomment) {
-	    if (m!\*/!) {
-		s!.*?\*/!!;
-		$incomment = 0;
-	    } else {
-		next;
-	    }
-	}
-	if (m!/\*.*?\*/!) {
-	    s!\s*/\*.*?\*/!!;
-	} elsif (m!/\*!) {
-	    s!\s*/\*!!;
-	    $incomment = 1;
-	    next;
-	}
-	s!"(?:[^\"]+|\\.)*"!"X"!g;
-	next if /^\#/;
-	## Warn about C++-style comments.
-	if (m!//!) {
-	#    print "       //:$fn:$.\n";
-	    s!//.*!!;
-	}
-        ## Warn about braces preceded by non-space.
-	if (/([^\s])\{/) {
-	    print "       $1\{:$fn:$.\n";
-	}
-	## Warn about multiple internal spaces.
-	#if (/[^\s,:]\s{2,}[^\s\\=]/) {
-	#    print "     X  X:$fn:$.\n";
-	#}
-	## Warn about { with stuff after.
-	#s/\s+$//;
-	#if (/\{[^\}\\]+$/) {
-	#    print "     {X:$fn:$.\n";
-	#}
-	## Warn about function calls with space before parens.
-	if (/(\w+)\s\(/) {
-	    if ($1 ne "if" and $1 ne "while" and $1 ne "for" and 
-		$1 ne "switch" and $1 ne "return" and $1 ne "int" and 
-                $1 ne "void" and $1 ne "__attribute__") {
-		print "     fn ():$fn:$.\n";
-	    }
-	}
+	if ($C) {
+            if ($incomment) {
+                if (m!\*/!) {
+                    s!.*?\*/!!;
+                    $incomment = 0;
+                } else {
+                    next;
+                }
+            }
+            if (m!/\*.*?\*/!) {
+                s!\s*/\*.*?\*/!!;
+            } elsif (m!/\*!) {
+                s!\s*/\*!!;
+                $incomment = 1;
+                next;
+            }
+            s!"(?:[^\"]+|\\.)*"!"X"!g;
+            next if /^\#/;
+            ## Warn about C++-style comments.
+            if (m!//!) {
+                #    print "       //:$fn:$.\n";
+                s!//.*!!;
+            }
+            ## Warn about braces preceded by non-space.
+            if (/([^\s])\{/) {
+                print "       $1\{:$fn:$.\n";
+            }
+            ## Warn about multiple internal spaces.
+            #if (/[^\s,:]\s{2,}[^\s\\=]/) {
+            #    print "     X  X:$fn:$.\n";
+            #}
+            ## Warn about { with stuff after.
+            #s/\s+$//;
+            #if (/\{[^\}\\]+$/) {
+            #    print "     {X:$fn:$.\n";
+            #}
+            ## Warn about function calls with space before parens.
+            if (/(\w+)\s\(/) {
+                if ($1 ne "if" and $1 ne "while" and $1 ne "for" and
+                    $1 ne "switch" and $1 ne "return" and $1 ne "int" and
+                    $1 ne "void" and $1 ne "__attribute__") {
+                    print "     fn ():$fn:$.\n";
+                }
+            }
+        }
     }
     if (! $lastnil) {
         print "  EOL\@EOF:$fn:$.\n";