Commit 0c73b4eb authored by Andy Whitcroft's avatar Andy Whitcroft Committed by Linus Torvalds
Browse files

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: default avatarAndy Whitcroft <apw@canonical.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 8cf6de71
Loading
Loading
Loading
Loading
+5 −10
Original line number Diff line number Diff line
@@ -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,