diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2017-09-21 11:15:32 +0200 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2017-11-02 01:34:18 +0100 |
commit | 475bf707b958f37844534b7b45c905521c7401a2 (patch) | |
tree | 014f8425c525242aa83d16f1261575d5b83ddd5a | |
parent | cb2fcfc0a1da3cfac9094abf1d11c23653937395 (diff) |
Mark or fix switch cases that fall through
Now that C++17 introduced a special fallthrough keyword for
explicitly tagging switch cases that are supposed to fall
through, newer gcc versions also implement a feature request
from 2002 to warn about maybe unwanted fall-throughs in switch
cases in other languages (like C).
For C code, we can either add a gcc specific attribute at the
end of the switch case, or use a special comment that gcc checks
for, indicating that the fall-through behaviour is indeed
intended.
This patch adds a "/* fall-through */" comment at the end of
various case blocks to silence gcc warnings and in some cases
a break, where fall-through was probably not intended.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
-rw-r--r-- | misc-utils/flash_erase.c | 2 | ||||
-rw-r--r-- | misc-utils/mtd_debug.c | 1 | ||||
-rw-r--r-- | nand-utils/nanddump.c | 1 | ||||
-rw-r--r-- | tests/fs-tests/utils/fstest_monitor.c | 1 | ||||
-rw-r--r-- | ubi-utils/ubiblock.c | 1 |
5 files changed, 6 insertions, 0 deletions
diff --git a/misc-utils/flash_erase.c b/misc-utils/flash_erase.c index 6db9fa3..0c9449f 100644 --- a/misc-utils/flash_erase.c +++ b/misc-utils/flash_erase.c @@ -155,8 +155,10 @@ int main(int argc, char *argv[]) default: case 0: errmsg("no MTD device specified"); + /* fall-through */ case 1: errmsg("no start erase block specified"); + /* fall-through */ case 2: errmsg("no erase block count specified"); error = 1; diff --git a/misc-utils/mtd_debug.c b/misc-utils/mtd_debug.c index d90a968..1fd6871 100644 --- a/misc-utils/mtd_debug.c +++ b/misc-utils/mtd_debug.c @@ -272,6 +272,7 @@ static int showinfo(int fd) break; case MTD_UBIVOLUME: printf("MTD_UBIVOLUME"); + break; default: printf("(unknown type - new MTD API maybe?)"); } diff --git a/nand-utils/nanddump.c b/nand-utils/nanddump.c index bebb48e..2f167bb 100644 --- a/nand-utils/nanddump.c +++ b/nand-utils/nanddump.c @@ -180,6 +180,7 @@ static void process_options(int argc, char * const argv[]) break; case 'c': canonical = true; + /* fall-through */ case 'p': pretty_print = true; break; diff --git a/tests/fs-tests/utils/fstest_monitor.c b/tests/fs-tests/utils/fstest_monitor.c index afb951b..db687c1 100644 --- a/tests/fs-tests/utils/fstest_monitor.c +++ b/tests/fs-tests/utils/fstest_monitor.c @@ -131,6 +131,7 @@ static int parse_command_line(char *cmdline, int *pargc, char ***pargv) break; } state = 1; + /* fall-through */ case 1: /* Not quoted */ if (c == '\\') { if (*p) diff --git a/ubi-utils/ubiblock.c b/ubi-utils/ubiblock.c index 8e36678..71e60b6 100644 --- a/ubi-utils/ubiblock.c +++ b/ubi-utils/ubiblock.c @@ -74,6 +74,7 @@ static int parse_opt(int argc, char * const argv[]) switch (key) { case 'c': args.create = 1; + /* fall-through */ case 'r': args.node = optarg; break; |