From d189b598b449f3a258354133180e7b770c04526c Mon Sep 17 00:00:00 2001 From: Peter Korsgaard Date: Sun, 6 Jan 2013 00:07:18 +0100 Subject: klogd: handle multi-char log levels 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 Signed-off-by: Mike Frysinger --- sysklogd/klogd.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/sysklogd/klogd.c b/sysklogd/klogd.c index f59a155b4..432ded153 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++; } -- cgit v1.2.3