[tor-commits] [tor/master] checkSpace.pl: make output more uniform.

teor at torproject.org teor at torproject.org
Tue Dec 3 02:58:41 UTC 2019


commit 2aaa7ae6e2559d4fa62efc57b1cf2660868d9323
Author: Nick Mathewson <nickm at torproject.org>
Date:   Tue Nov 26 12:49:13 2019 -0500

    checkSpace.pl: make output more uniform.
    
    There were lots of slight differences in indentation and formatting
    among the in-file error messages.
---
 scripts/maint/checkSpace.pl | 51 ++++++++++++++++++++++++++-------------------
 1 file changed, 29 insertions(+), 22 deletions(-)

diff --git a/scripts/maint/checkSpace.pl b/scripts/maint/checkSpace.pl
index 7be7f2a3c..f4e6f733c 100755
--- a/scripts/maint/checkSpace.pl
+++ b/scripts/maint/checkSpace.pl
@@ -4,9 +4,16 @@ use strict;
 use warnings;
 
 my $found = 0;
+my $COLON_POS = 10;
+
 sub msg {
   $found = 1;
-  print "$_[0]";
+  my $v = shift;
+  $v =~ /^\s*([^:]+):(.*)$/;
+  chomp(my $errtype = $1);
+  my $rest = $2;
+  my $padding = ' ' x ($COLON_POS - length $errtype);
+  print "$padding$errtype:$rest\n";
 }
 
 my $C = 0;
@@ -29,7 +36,7 @@ for my $fn (@ARGV) {
     my $basename = $fn;
     $basename =~ s#.*/##;
     if ($basenames{$basename}) {
-        msg "Duplicate fnames: $fn and $basenames{$basename}.\n";
+        msg "dup fname:$fn (same as $basenames{$basename}).\n";
     } else {
         $basenames{$basename} = $fn;
     }
@@ -42,12 +49,12 @@ for my $fn (@ARGV) {
         #    (We insist on lines that end with a single LF character, not
         #    CR LF.)
         if (/\r/) {
-            msg "       CR:$fn:$.\n";
+            msg "CR:$fn:$.\n";
         }
         ## Warn about tabs.
         #    (We only use spaces)
         if (/\t/) {
-            msg "      TAB:$fn:$.\n";
+            msg "TAB:$fn:$.\n";
         }
         ## Warn about labels that don't have a space in front of them
         #    (We indent every label at least one space)
@@ -63,12 +70,12 @@ for my $fn (@ARGV) {
         ## Warn about control keywords without following space.
         #    (We put a space after every 'if', 'while', 'for', 'switch', etc)
         if ($C && /\s(?:if|while|for|switch)\(/) {
-            msg "      KW(:$fn:$.\n";
+            msg "KW(:$fn:$.\n";
         }
         ## Warn about #else #if instead of #elif.
         #    (We only allow #elif)
         if (($lastline =~ /^\# *else/) and ($_ =~ /^\# *if/)) {
-            msg " #else#if:$fn:$.\n";
+            msg "#else#if:$fn:$.\n";
         }
         ## Warn about some K&R violations
         #    (We use K&R-style C, where open braces go on the same line as
@@ -83,19 +90,19 @@ for my $fn (@ARGV) {
             msg "non-K&R {:$fn:$.\n";
         }
         if (/^\s*else/ and $lastline =~ /\}$/) {
-            msg "  }\\nelse:$fn:$.\n";
+            msg "}\\nelse:$fn:$.\n";
         }
         $lastline = $_;
         ## Warn about unnecessary empty lines.
         #   (Don't put an empty line before a line that contains nothing
         #   but a closing brace.)
         if ($lastnil && /^\s*}\n/) {
-            msg "  UnnecNL:$fn:$.\n";
+            msg "UnnecNL:$fn:$.\n";
         }
         ## Warn about multiple empty lines.
         #   (At most one blank line in a row.)
         if ($lastnil && /^$/) {
-            msg " DoubleNL:$fn:$.\n";
+            msg "DoubleNL:$fn:$.\n";
         } elsif (/^$/) {
             $lastnil = 1;
         } else {
@@ -105,7 +112,7 @@ for my $fn (@ARGV) {
         ## accept double-line lines.
         #   (Don't make lines wider than 80 characters, including newline.)
         if (/^.{80}/) {
-            msg "     Wide:$fn:$.\n";
+            msg "Wide:$fn:$.\n";
         }
         ### Juju to skip over comments and strings, since the tests
         ### we're about to do are okay there.
@@ -146,26 +153,26 @@ for my $fn (@ARGV) {
             next if /^\#/;
             ## Skip C++-style comments.
             if (m!//!) {
-                #    msg "       //:$fn:$.\n";
+                #    msg "//:$fn:$.\n";
                 s!//.*!!;
             }
             ## Warn about unquoted braces preceded by non-space.
             #   (No character except a space should come before a {)
             if (/([^\s'])\{/) {
-                msg "       $1\{:$fn:$.\n";
+                msg "$1\{:$fn:$.\n";
             }
             ## Warn about double semi-colons at the end of a line.
             if (/;;$/) {
-                msg "       double semi-colons at the end of $. in $fn\n"
+                msg ";;:$fn:$.\n"
             }
             ## Warn about multiple internal spaces.
             #if (/[^\s,:]\s{2,}[^\s\\=]/) {
-            #    msg "     X  X:$fn:$.\n";
+            #    msg "X  X:$fn:$.\n";
             #}
             ## Warn about { with stuff after.
             #s/\s+$//;
             #if (/\{[^\}\\]+$/) {
-            #    msg "     {X:$fn:$.\n";
+            #    msg "{X:$fn:$.\n";
             #}
             ## Warn about function calls with space before parens.
             #   (Don't put a space between the name of a function and its
@@ -177,7 +184,7 @@ for my $fn (@ARGV) {
                     $1 ne "void" and $1 ne "__attribute__" and $1 ne "op" and
                     $1 ne "size_t" and $1 ne "double" and $1 ne "uint64_t" and
                     $1 ne "workqueue_reply_t" and $1 ne "bool") {
-                    msg "     fn ():$fn:$.\n";
+                    msg "fn ():$fn:$.\n";
                 }
             }
             ## Warn about functions not declared at start of line.
@@ -206,28 +213,28 @@ for my $fn (@ARGV) {
             ## Check for forbidden functions except when they are
             # explicitly permitted
             if (/\bassert\(/ && not /assert OK/) {
-                msg "assert :$fn:$.   (use tor_assert)\n";
+                msg "assert:$fn:$.   (use tor_assert)\n";
             }
             if (/\bmemcmp\(/ && not /memcmp OK/) {
-                msg "memcmp :$fn:$.   (use {tor,fast}_mem{eq,neq,cmp}\n";
+                msg "memcmp:$fn:$.   (use {tor,fast}_mem{eq,neq,cmp}\n";
             }
             # always forbidden.
             if (not /\ OVERRIDE\ /) {
                 if (/\bstrcat\(/ or /\bstrcpy\(/ or /\bsprintf\(/) {
-                    msg "$& :$fn:$.\n";
+                    msg "$&:$fn:$.\n";
                 }
                 if (/\bmalloc\(/ or /\bfree\(/ or /\brealloc\(/ or
                     /\bstrdup\(/ or /\bstrndup\(/ or /\bcalloc\(/) {
-                    msg "$& :$fn:$.    (use tor_malloc, tor_free, etc)\n";
+                    msg "$&:$fn:$.    (use tor_malloc, tor_free, etc)\n";
                 }
             }
         }
     }
     if ($isheader && $C) {
         if ($seenguard < 2) {
-            msg "$fn:No #ifndef/#define header guard pair found.\n";
+            msg "noguard:$fn (No #ifndef/#define header guard pair found)\n";
         } elsif ($guardnames{$guardname}) {
-            msg "$fn:Guard macro $guardname also used in $guardnames{$guardname}\n";
+            msg "dupguard:$fn (Guard macro $guardname also used in $guardnames{$guardname})\n";
         } else {
             $guardnames{$guardname} = $fn;
         }





More information about the tor-commits mailing list