diff options
-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 | ||