← Commit list

eac0c0693

Mike Frysinger
Mike Frysinger
2006-07-27
SOURCE BUG Duration: 30s

Subject

allow people to display dmesg output without syslog levels

SOURCE BUG

This commit was genuinely broken at the time (not related to our build system): scripts/config/mkconfigs.c (2005-08-01 - 2006-10-05 arasi) uretilen bbconfigopts.h icine .config satirlarini kacissiz, ham newline'larla gömüyordu - gecerli C degildi, busybox'un kendi bb_mkdep araci bile parse edemiyordu (7d219aab7 ile duzeltildi, mkconfigs shell scripte cevrildi)

→ Bu hatanin tam hikayesini ve duzeltme diffini gor

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

util-linux/Config.in+20 -0
@@ -17,6 +17,26 @@ config CONFIG_DMESG
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
util-linux/dmesg.c+19 -3
@@ -1,9 +1,9 @@
/* vi: set sw=4 ts=4: */
/*
- *
* dmesg - display/control kernel ring buffer.
*
- * Copyring 2006 Rob Landley <[email protected]>
+ * Copyright 2006 Rob Landley <[email protected]>
+ * Copyright 2006 Erik Andersen <[email protected]>
*
* Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
*/
@@ -28,8 +28,24 @@ int dmesg_main(int argc, char *argv[])
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;