checkpatch: simplify and consolidate "missing space after" checks

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>
This commit is contained in:
Andy Whitcroft 2010-10-26 14:23:15 -07:00 committed by Linus Torvalds
parent 8cf6de7145
commit 0c73b4eb7a
1 changed files with 5 additions and 10 deletions

View File

@ -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,