svn commit: trunk/busybox/util-linux

landley at busybox.net landley at busybox.net
Thu Jul 27 16:40:55 UTC 2006


Author: landley
Date: 2006-07-27 09:40:55 -0700 (Thu, 27 Jul 2006)
New Revision: 15754

Log:
Add back in non-ifdef version of FEATURE_PRETTY_PRINT, and get the attribution
right this time.


Modified:
   trunk/busybox/util-linux/Config.in
   trunk/busybox/util-linux/dmesg.c


Changeset:
Modified: trunk/busybox/util-linux/Config.in
===================================================================
--- trunk/busybox/util-linux/Config.in	2006-07-27 15:12:21 UTC (rev 15753)
+++ trunk/busybox/util-linux/Config.in	2006-07-27 16:40:55 UTC (rev 15754)
@@ -17,6 +17,26 @@
 	  are also logged to the system console.  Enable this option if you
 	  wish to enable the 'dmesg' utility.
 
+config CONFIG_FEATURE_DMESG_PRETTY
+	bool "pretty dmesg output"
+	default y
+	depends on CONFIG_DMESG
+	help
+	  If you wish to scrub the syslog level from the output, say 'Y' here.
+	  The syslog level is a string prefixed to every line with the form "<#>".
+
+	  With this option you will see:
+	    # dmesg
+	    Linux version 2.6.17.4 .....
+	    BIOS-provided physical RAM map:
+	     BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
+
+	  Without this option you will see:
+	    # dmesg
+	    <5>Linux version 2.6.17.4 .....
+	    <6>BIOS-provided physical RAM map:
+	    <6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
+
 config CONFIG_FBSET
 	bool "fbset"
 	default n

Modified: trunk/busybox/util-linux/dmesg.c
===================================================================
--- trunk/busybox/util-linux/dmesg.c	2006-07-27 15:12:21 UTC (rev 15753)
+++ trunk/busybox/util-linux/dmesg.c	2006-07-27 16:40:55 UTC (rev 15754)
@@ -3,7 +3,8 @@
  * 
  * dmesg - display/control kernel ring buffer.
  *
- * Copyring 2006 Rob Landley <rob at landley.net>
+ * Copyright 2006 Rob Landley <rob at landley.net>
+ * Copyright 2006 Bernhard Fischer <rep.nop at aon.at>
  *
  * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
  */
@@ -28,8 +29,24 @@
 		buf = xmalloc(len);
 		if (0 > (len = klogctl(3 + (flags & 1), buf, len)))
 			bb_perror_msg_and_die("klogctl");
-		write(1,buf,len);
-		if (len && buf[len-1]!='\n') putchar('\n');
+
+		// Skip <#> at the start of lines, and make sure we end with a newline. 
+
+		if (ENABLE_FEATURE_DMESG_PRETTY) {
+			int last = '\n';
+			int in;
+
+			for (in = 0; in<len;) {
+				if (last == '\n' && buf[in] == '<') in += 3;
+				else putchar(last = buf[in++]);
+			}
+			if (last != '\n') putchar('\n');
+		} else {
+			write(1,buf,len);
+			if (len && buf[len-1]!='\n') putchar('\n');
+		}
+
+		if (ENABLE_FEATURE_CLEAN_UP) free(buf);
 	}
 
 	return 0;




More information about the busybox-cvs mailing list