[PATCH] dmesg: Add -r (raw) option.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Useful for debugging which kernel messages are ruining your quiet
bootup.
---
 sys-utils/dmesg.1 |    5 ++++-
 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 d5dfa9d..33fd8b0 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 ac0535d..b634d86 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++;
-- 
1.6.1

--
To unsubscribe from this list: send the line "unsubscribe util-linux-ng" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux