diff options
author | Peter Korsgaard <peter@korsgaard.com> | 2015-08-24 15:54:49 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2015-08-24 21:08:02 +0200 |
commit | 864d1b7a1506002ef5804305b31e0fd7197c1ea4 (patch) | |
tree | a584265aebb67556bd017cf71853343784b7d019 | |
parent | 65c501a093b6ae1f8344a71378fd99f27177adaf (diff) | |
download | busybox-w32-864d1b7a1506002ef5804305b31e0fd7197c1ea4.tar.gz busybox-w32-864d1b7a1506002ef5804305b31e0fd7197c1ea4.tar.bz2 busybox-w32-864d1b7a1506002ef5804305b31e0fd7197c1ea4.zip |
dmesg: add -r option to print raw format even when FEATURE_DMESG_PRETTY is enabled
Similar to the "big" util-linux version. For !DMESG_PRETTY, the option is accepted
(but ignored) as well, for compatibility reasons.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | util-linux/dmesg.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/util-linux/dmesg.c b/util-linux/dmesg.c index 81ba1c9d1..e543446c1 100644 --- a/util-linux/dmesg.c +++ b/util-linux/dmesg.c | |||
@@ -16,6 +16,7 @@ | |||
16 | //usage: "\n -c Clear ring buffer after printing" | 16 | //usage: "\n -c Clear ring buffer after printing" |
17 | //usage: "\n -n LEVEL Set console logging level" | 17 | //usage: "\n -n LEVEL Set console logging level" |
18 | //usage: "\n -s SIZE Buffer size" | 18 | //usage: "\n -s SIZE Buffer size" |
19 | //usage: "\n -r Print raw message buffer" | ||
19 | 20 | ||
20 | #include <sys/klog.h> | 21 | #include <sys/klog.h> |
21 | #include "libbb.h" | 22 | #include "libbb.h" |
@@ -29,11 +30,12 @@ int dmesg_main(int argc UNUSED_PARAM, char **argv) | |||
29 | enum { | 30 | enum { |
30 | OPT_c = 1 << 0, | 31 | OPT_c = 1 << 0, |
31 | OPT_s = 1 << 1, | 32 | OPT_s = 1 << 1, |
32 | OPT_n = 1 << 2 | 33 | OPT_n = 1 << 2, |
34 | OPT_r = 1 << 3 | ||
33 | }; | 35 | }; |
34 | 36 | ||
35 | opt_complementary = "s+:n+"; /* numeric */ | 37 | opt_complementary = "s+:n+"; /* numeric */ |
36 | opts = getopt32(argv, "cs:n:", &len, &level); | 38 | opts = getopt32(argv, "cs:n:r", &len, &level); |
37 | if (opts & OPT_n) { | 39 | if (opts & OPT_n) { |
38 | if (klogctl(8, NULL, (long) level)) | 40 | if (klogctl(8, NULL, (long) level)) |
39 | bb_perror_msg_and_die("klogctl"); | 41 | bb_perror_msg_and_die("klogctl"); |
@@ -55,7 +57,7 @@ int dmesg_main(int argc UNUSED_PARAM, char **argv) | |||
55 | return EXIT_SUCCESS; | 57 | return EXIT_SUCCESS; |
56 | 58 | ||
57 | 59 | ||
58 | if (ENABLE_FEATURE_DMESG_PRETTY) { | 60 | if (ENABLE_FEATURE_DMESG_PRETTY && !(opts & OPT_r)) { |
59 | int last = '\n'; | 61 | int last = '\n'; |
60 | int in = 0; | 62 | int in = 0; |
61 | 63 | ||