checkpatch: simplify and consolidate "missing space after" checks
authorAndy Whitcroft <apw@canonical.com>
Tue, 26 Oct 2010 21:23:15 +0000 (14:23 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 26 Oct 2010 23:52:20 +0000 (16:52 -0700)
Commonise the code for missing spaces after struct, union, and enum such
that they share the same code.  Ensure we cover all the common cases in
each case.  Check against the sanitised line to ensure we do not report on
comments and strings.

Signed-off-by: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
scripts/checkpatch.pl

index 983ac1816da04d0959e9c3825459f2f4dbf65988..cb19f54b4b2ae61eb694a9b7ca97461201e7b3bd 100755 (executable)
@@ -1905,22 +1905,17 @@ sub process {
                        ERROR("open brace '{' following function declarations go on the next line\n" . $herecurr);
                }
 
-# missing space after union or struct definition
-               if ($rawline =~ /^\+\s*(union|struct)\s+$Ident[=\{]/) {
-                   WARN("Missing space after struct or union definition\n" . $herecurr);
-               }
-
-# missing space after enum definition
-               if ($rawline =~ /^\+\s*enum\{/) {
-                   WARN("Missing space after enum definition\n" . $herecurr);
-               }
-
 # open braces for enum, union and struct go on the same line.
                if ($line =~ /^.\s*{/ &&
                    $prevline =~ /^.\s*(?:typedef\s+)?(enum|union|struct)(?:\s+$Ident)?\s*$/) {
                        ERROR("open brace '{' following $1 go on the same line\n" . $hereprev);
                }
 
+# missing space after union, struct or enum definition
+               if ($line =~ /^.\s*(?:typedef\s+)?(enum|union|struct)(?:\s+$Ident)?(?:\s+$Ident)?[=\{]/) {
+                   WARN("missing space after $1 definition\n" . $herecurr);
+               }
+
 # check for spacing round square brackets; allowed:
 #  1. with a type on the left -- int [] a;
 #  2. at the beginning of a line for slice initialisers -- [0...10] = 5,