void foo(int a)
switch (a) {
case 'h':
fun1();
exit(1);
default:
}
creates a warning
Possible switch case/default not preceded by break
or fallthrough comment
exit( should be treated like return.
Signed-off-by: Heinrich Schuchardt <[email protected]>
---
scripts/checkpatch.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 3afc870f0f..da09b2313c 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -4361,7 +4361,7 @@ sub process {
next if ($fline =~ /^.[\s$;]*$/);
$has_statement = 1;
$count++;
- $has_break = 1 if ($fline =~ /\bswitch\b|\b(?:break\s*;[\s$;]*$|return\b|goto\b|continue\b)/);
+ $has_break = 1 if ($fline =~ /\bswitch\b|\b(?:break\s*;[\s$;]*$|exit\(\b|return\b|goto\b|continue\b)/);
}
if (!$has_break && $has_statement) {
WARN("MISSING_BREAK",
--
2.11.0
On Sun, 2017-09-10 at 09:52 +0200, Heinrich Schuchardt wrote:
> void foo(int a)
> switch (a) {
> case 'h':
> fun1();
> exit(1);
> default:
> }
>
> creates a warning
> Possible switch case/default not preceded by break
> or fallthrough comment
>
> exit( should be treated like return.
OK, but
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -4361,7 +4361,7 @@ sub process {
> next if ($fline =~ /^.[\s$;]*$/);
> $has_statement = 1;
> $count++;
> - $has_break = 1 if ($fline =~ /\bswitch\b|\b(?:break\s*;[\s$;]*$|return\b|goto\b|continue\b)/);
> + $has_break = 1 if ($fline =~ /\bswitch\b|\b(?:break\s*;[\s$;]*$|exit\(\b|return\b|goto\b|continue\b)/);
exit\s*\(
Although this could have a false negative
on some code.
void foo(int a)
switch (a) {
case 'h':
fun1();
exit(1);
default:
}
creates a warning
Possible switch case/default not preceded by break
or fallthrough comment
exit( should be treated like return.
Signed-off-by: Heinrich Schuchardt <[email protected]>
---
v2:
Allow whitespace between 'exit' and '('.
---
scripts/checkpatch.pl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 2287a0bca8..690fe07d1b 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -6084,7 +6084,7 @@ sub process {
next if ($fline =~ /^.[\s$;]*$/);
$has_statement = 1;
$count++;
- $has_break = 1 if ($fline =~ /\bswitch\b|\b(?:break\s*;[\s$;]*$|return\b|goto\b|continue\b)/);
+ $has_break = 1 if ($fline =~ /\bswitch\b|\b(?:break\s*;[\s$;]*$|exit\s*\(\b|return\b|goto\b|continue\b)/);
}
if (!$has_break && $has_statement) {
WARN("MISSING_BREAK",
--
2.11.0
On Sun, 2017-09-10 at 17:46 +0200, Heinrich Schuchardt wrote:
> void foo(int a)
> switch (a) {
> case 'h':
> fun1();
> exit(1);
> default:
> }
>
> creates a warning
> Possible switch case/default not preceded by break
> or fallthrough comment
>
> exit( should be treated like return.
>
> Signed-off-by: Heinrich Schuchardt <[email protected]>
Acked-by: Joe Perches <[email protected]>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
[]
> @@ -6084,7 +6084,7 @@ sub process {
> next if ($fline =~ /^.[\s$;]*$/);
> $has_statement = 1;
> $count++;
> - $has_break = 1 if ($fline =~ /\bswitch\b|\b(?:break\s*;[\s$;]*$|return\b|goto\b|continue\b)/);
> + $has_break = 1 if ($fline =~ /\bswitch\b|\b(?:break\s*;[\s$;]*$|exit\s*\(\b|return\b|goto\b|continue\b)/);
> }
> if (!$has_break && $has_statement) {
> WARN("MISSING_BREAK",