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 <jacmet@sunsite.dk>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
This commit is contained in:
Peter Korsgaard 2013-01-06 00:07:18 +01:00 committed by Mike Frysinger
parent 3917fa32dc
commit d189b598b4

View File

@ -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++;
}