diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2023-06-12 14:12:11 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2023-06-13 08:42:05 +0200 |
commit | adadd6c0fcfd6b11076e0110497dd7ecdb44f99c (patch) | |
tree | 7a93e438f9133a728032577556bda3e5cf06df39 /commands | |
parent | 1baa83292b3b742e5c5dacff8b2c67ee62668184 (diff) | |
download | barebox-adadd6c0fcfd6b11076e0110497dd7ecdb44f99c.tar.gz barebox-adadd6c0fcfd6b11076e0110497dd7ecdb44f99c.tar.xz |
dmesg: error out on unknown loglevels
The user deserves an error when an unknown loglevel is given, so
print an error instead of silently ignoring unknown loglevels.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'commands')
-rw-r--r-- | commands/dmesg.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/commands/dmesg.c b/commands/dmesg.c index 339910bb76..0d46353fb5 100644 --- a/commands/dmesg.c +++ b/commands/dmesg.c @@ -32,6 +32,8 @@ static int str_to_loglevel(const char *str) if (!strcmp(str, "emerg")) return MSG_EMERG; + printf("dmesg: unknown loglevel %s\n", str); + return -EINVAL; } @@ -49,8 +51,12 @@ static unsigned dmesg_get_levels(const char *__args) break; level = str_to_loglevel(str); - if (level >= 0) - flags |= BIT(level); + if (level < 0) { + flags = 0; + break; + } + + flags |= BIT(level); } free(args); @@ -81,7 +87,7 @@ static int do_dmesg(int argc, char *argv[]) case 'l': levels = dmesg_get_levels(optarg); if (!levels) - return COMMAND_ERROR_USAGE; + return COMMAND_ERROR; break; case 'r': flags |= BAREBOX_LOG_PRINT_RAW | BAREBOX_LOG_PRINT_TIME; |