[PATCH 2/3] klogd: handle multi-char log levels
Peter Korsgaard
jacmet at sunsite.dk
Sat Jan 5 23:07:18 UTC 2013
Since Linux 3.5 (7ff9554bb5: printk: convert byte-buffer to variable-length
record buffer), klog buffer can now contain log lines with multi-char
loglevel indicators (<[0-9]+>) - So use strtoul to parse it.
function old new delta
klogd_main 490 525 +35
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/0 up/down: 35/0) Total: 35 bytes
Signed-off-by: Peter Korsgaard <jacmet at sunsite.dk>
---
sysklogd/klogd.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/sysklogd/klogd.c b/sysklogd/klogd.c
index f59a155..432ded1 100644
--- a/sysklogd/klogd.c
+++ b/sysklogd/klogd.c
@@ -240,11 +240,8 @@ int klogd_main(int argc UNUSED_PARAM, char **argv)
priority = LOG_INFO;
if (*start == '<') {
start++;
- if (*start) {
- /* kernel never generates multi-digit prios */
- priority = (*start - '0');
- start++;
- }
+ if (*start)
+ priority = strtoul(start, &start, 10);
if (*start == '>')
start++;
}
--
1.7.10.4
More information about the busybox
mailing list