svn commit: trunk/busybox/util-linux

vapier at busybox.net vapier at busybox.net
Thu Jul 27 11:18:38 UTC 2006


Author: vapier
Date: 2006-07-27 04:18:36 -0700 (Thu, 27 Jul 2006)
New Revision: 15750

Log:
allow people to display dmesg output without syslog levels

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 03:42:30 UTC (rev 15749)
+++ trunk/busybox/util-linux/Config.in	2006-07-27 11:18:36 UTC (rev 15750)
@@ -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 03:42:30 UTC (rev 15749)
+++ trunk/busybox/util-linux/dmesg.c	2006-07-27 11:18:36 UTC (rev 15750)
@@ -1,9 +1,9 @@
 /* vi: set sw=4 ts=4: */
 /*
- * 
  * dmesg - display/control kernel ring buffer.
  *
- * Copyring 2006 Rob Landley <rob at landley.net>
+ * Copyright 2006 Rob Landley <rob at landley.net>
+ * Copyright 2006 Erik Andersen <andersen at codepoet.org>
  *
  * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
  */
@@ -28,8 +28,24 @@
 		buf = xmalloc(len);
 		if (0 > (len = klogctl(3 + (flags & 1), buf, len)))
 			bb_perror_msg_and_die("klogctl");
-		write(1,buf,len);
+
+#ifdef CONFIG_FEATURE_DMESG_PRETTY
+		{
+			char newline = '\n';
+			int i;
+			for (i=0; i<len; ++i) {
+				if (newline == '\n' && buf[i] == '<')
+					i += 3; /* skip <#> */
+				putchar(newline=buf[i]);
+			}
+			if (newline != '\n') putchar('\n');
+		}
+#else
+		write(1, buf, len);
 		if (len && buf[len-1]!='\n') putchar('\n');
+#endif
+
+		if (ENABLE_FEATURE_CLEAN_UP) free(buf);
 	}
 
 	return 0;




More information about the busybox-cvs mailing list