summaryrefslogtreecommitdiffstats
path: root/scripts/checkpatch.pl
diff options
context:
space:
mode:
authorAndy Whitcroft <apw@shadowen.org>2008-10-15 22:02:25 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2008-10-16 11:21:36 -0700
commita1080bf80862c571b5f0a20cb601e24dd90e2026 (patch)
tree0aae05e30c0107a6286bce04692c7d17b4f1f632 /scripts/checkpatch.pl
parentdea79cd3dfb4a50e4c3d0dcb7294f6d633b455d1 (diff)
downloadlinux-a1080bf80862c571b5f0a20cb601e24dd90e2026.tar.gz
linux-a1080bf80862c571b5f0a20cb601e24dd90e2026.tar.bz2
linux-a1080bf80862c571b5f0a20cb601e24dd90e2026.zip
checkpatch: case/default checks should only check changed lines
We should only be checking changes lines for the trailing statement check on case/default statements. Signed-off-by: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'scripts/checkpatch.pl')
-rwxr-xr-xscripts/checkpatch.pl17
1 files changed, 9 insertions, 8 deletions
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 66bcedc0c8b3..457f87460d6e 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -1363,14 +1363,6 @@ sub process {
ERROR("switch and case should be at the same indent\n$hereline$err");
}
}
- if ($line =~ /^.\s*(?:case\s*.*|default\s*):/g &&
- $line !~ /\G(?:
- (?:\s*{)?(?:\s*$;*)(?:\s*\\)?\s*$|
- \s*return\s+
- )/xg)
- {
- ERROR("trailing statements should be on next line\n" . $herecurr);
- }
# if/while/etc brace do not go on next line, unless defining a do while loop,
# or if that brace on the next line is for something else
@@ -1986,6 +1978,15 @@ sub process {
ERROR("trailing statements should be on next line\n" . $herecurr);
}
}
+# case and default should not have general statements after them
+ if ($line =~ /^.\s*(?:case\s*.*|default\s*):/g &&
+ $line !~ /\G(?:
+ (?:\s*{)?(?:\s*$;*)(?:\s*\\)?\s*$|
+ \s*return\s+
+ )/xg)
+ {
+ ERROR("trailing statements should be on next line\n" . $herecurr);
+ }
# Check for }<nl>else {, these must be at the same
# indent level to be relevant to each other.