Add back in non-ifdef version of FEATURE_PRETTY_PRINT, and get the attribution

right this time.
This commit is contained in:
Rob Landley 2006-07-27 16:40:55 +00:00
parent 52c7d7ebf3
commit 446129adae
2 changed files with 40 additions and 3 deletions

View File

@ -17,6 +17,26 @@ config CONFIG_DMESG
are also logged to the system console. Enable this option if you are also logged to the system console. Enable this option if you
wish to enable the 'dmesg' utility. 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 config CONFIG_FBSET
bool "fbset" bool "fbset"
default n default n

View File

@ -3,7 +3,8 @@
* *
* dmesg - display/control kernel ring buffer. * 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. * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
*/ */
@ -28,9 +29,25 @@ int dmesg_main(int argc, char *argv[])
buf = xmalloc(len); buf = xmalloc(len);
if (0 > (len = klogctl(3 + (flags & 1), buf, len))) if (0 > (len = klogctl(3 + (flags & 1), buf, len)))
bb_perror_msg_and_die("klogctl"); bb_perror_msg_and_die("klogctl");
// 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); write(1,buf,len);
if (len && buf[len-1]!='\n') putchar('\n'); if (len && buf[len-1]!='\n') putchar('\n');
} }
if (ENABLE_FEATURE_CLEAN_UP) free(buf);
}
return 0; return 0;
} }