From cb2fcfc0a1da3cfac9094abf1d11c23653937395 Mon Sep 17 00:00:00 2001 From: David Oberhollenzer Date: Thu, 21 Sep 2017 13:36:42 +0200 Subject: Add no-return attribute to usage() style functions A common pattern in command line processing is having a usage() function that prints out how to use the command line options and then terminates. The function is typically used inside a switch block for command line options like `-h' or unknown options. In a lot of places, the break keyword is omitted, because the function exits anyway. However, this triggers gcc warnings about implicit fall-through. Rather than adding a phony "/* fall-through */" this patch flags the usage() style function with a gcc attribute, indicating that they do not return and removes further superfluous break statements. Signed-off-by: David Oberhollenzer --- misc-utils/flash_unlock.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'misc-utils/flash_unlock.c') diff --git a/misc-utils/flash_unlock.c b/misc-utils/flash_unlock.c index 5a3aac5..fbbfa51 100644 --- a/misc-utils/flash_unlock.c +++ b/misc-utils/flash_unlock.c @@ -36,7 +36,7 @@ static const char *flash_msg[] = { [ REQUEST_ISLOCKED ] = "check lock status", }; -static void usage(int status) +static NORETURN void usage(int status) { fprintf(status ? stderr : stdout, "Utility to lock, unlock, or check the lock status of the flash.\n" @@ -88,7 +88,6 @@ static void process_args(int argc, char *argv[]) switch (c) { case 'h': usage(EXIT_SUCCESS); - break; case 'i': req = REQUEST_ISLOCKED; req_set++; @@ -106,7 +105,6 @@ static void process_args(int argc, char *argv[]) exit(0); default: usage(EXIT_FAILURE); - break; } } -- cgit v1.2.3