]> err.no Git - util-linux/commitdiff
dmesg: Add -r (raw) option.
authorAdam Jackson <ajax@redhat.com>
Thu, 8 Jan 2009 16:44:27 +0000 (11:44 -0500)
committerKarel Zak <kzak@redhat.com>
Fri, 16 Jan 2009 11:34:49 +0000 (12:34 +0100)
Useful for debugging which kernel messages are ruining your quiet
bootup.

Signed-off-by: Adam Jackson <ajax@redhat.com>
sys-utils/dmesg.1
sys-utils/dmesg.c

index d5dfa9d6a66d6657bd12ba6e0e2725a741dd8999..33fd8b08bc9f502a2c167affd5d940cb567289e8 100644 (file)
@@ -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
index ac0535d780ad2af3139ec5313155362f48c14b8b..b634d86e586259cc8c785b89be29497be669058f 100644 (file)
@@ -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++;