Add back in non-ifdef version of FEATURE_PRETTY_PRINT, and get the attribution
right this time.
diff --git a/util-linux/Config.in b/util-linux/Config.in
index 501ed6b..65d6708 100644
--- a/util-linux/Config.in
+++ b/util-linux/Config.in
@@ -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
diff --git a/util-linux/dmesg.c b/util-linux/dmesg.c
index 2b59ee2..34519df 100644
--- a/util-linux/dmesg.c
+++ b/util-linux/dmesg.c
@@ -3,7 +3,8 @@
  * 
  * dmesg - display/control kernel ring buffer.
  *
- * Copyring 2006 Rob Landley <rob@landley.net>
+ * Copyright 2006 Rob Landley <rob@landley.net>
+ * Copyright 2006 Bernhard Fischer <rep.nop@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;