diff options
author | Adam Jackson <ajax@redhat.com> | 2009-01-08 11:44:27 -0500 |
---|---|---|
committer | Karel Zak <kzak@redhat.com> | 2009-01-16 12:34:49 +0100 |
commit | 11ea22d5a3dbb69557a4e1c7e3c862b0765102b5 (patch) | |
tree | a6c77c3efa9fdbfabd6d707c9c38f188e321d1e9 /sys-utils | |
parent | 448d12483cc24cd1ba50fde6b95d4c0f5080f038 (diff) | |
download | util-linux-old-11ea22d5a3dbb69557a4e1c7e3c862b0765102b5.tar.gz |
dmesg: Add -r (raw) option.
Useful for debugging which kernel messages are ruining your quiet
bootup.
Signed-off-by: Adam Jackson <ajax@redhat.com>
Diffstat (limited to 'sys-utils')
-rw-r--r-- | sys-utils/dmesg.1 | 5 | ||||
-rw-r--r-- | sys-utils/dmesg.c | 8 |
2 files changed, 10 insertions, 3 deletions
diff --git a/sys-utils/dmesg.1 b/sys-utils/dmesg.1 index d5dfa9d6..33fd8b08 100644 --- a/sys-utils/dmesg.1 +++ b/sys-utils/dmesg.1 @@ -4,7 +4,7 @@ .SH NAME dmesg \- print or control the kernel ring buffer .SH SYNOPSIS -.BI "dmesg [ \-c ] [ \-n " level " ] [ \-s " bufsize " ]" +.BI "dmesg [ \-c ] [ -r ] [ \-n " level " ] [ \-s " bufsize " ]" .SH DESCRIPTION .B dmesg is used to examine or control the kernel ring buffer. @@ -22,6 +22,9 @@ file to whoever can debug their problem. .B \-c Clear the ring buffer contents after printing. .TP +.B \-r +Print the raw message buffer, i.e., don't strip the log level prefixes. +.TP .BI \-s bufsize Use a buffer of size .I bufsize diff --git a/sys-utils/dmesg.c b/sys-utils/dmesg.c index ac0535d7..b634d86e 100644 --- a/sys-utils/dmesg.c +++ b/sys-utils/dmesg.c @@ -56,13 +56,14 @@ main(int argc, char *argv[]) { int level = 0; int lastc; int cmd = 3; /* Read all messages in the ring buffer */ + int raw = 0; setlocale(LC_ALL, ""); bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); progname = argv[0]; - while ((c = getopt(argc, argv, "cn:s:")) != -1) { + while ((c = getopt(argc, argv, "crn:s:")) != -1) { switch (c) { case 'c': cmd = 4; /* Read and clear all messages */ @@ -71,6 +72,9 @@ main(int argc, char *argv[]) { cmd = 8; /* Set level of messages */ level = atoi(optarg); break; + case 'r': + raw = 1; + break; case 's': bufsize = atoi(optarg); if (bufsize < 4096) @@ -131,7 +135,7 @@ main(int argc, char *argv[]) { lastc = '\n'; for (i = 0; i < n; i++) { - if ((i == 0 || buf[i - 1] == '\n') && buf[i] == '<') { + if (!raw && (i == 0 || buf[i - 1] == '\n') && buf[i] == '<') { i++; while (buf[i] >= '0' && buf[i] <= '9') i++; |