allow people to display dmesg output without syslog levels
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)
No binary (build failed)
—
(log yok)
| @@ -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 | |
| @@ -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; | |