[prev in list] [next in list] [prev in thread] [next in thread] 

List:       busybox
Subject:    [PATCH 2/3] klogd: handle multi-char log levels
From:       Peter Korsgaard <jacmet () sunsite ! dk>
Date:       2012-12-18 19:49:19
Message-ID: 1355860160-8676-3-git-send-email-jacmet () sunsite ! dk
[Download RAW message or body]

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>
---
 sysklogd/klogd.c |    7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/sysklogd/klogd.c b/sysklogd/klogd.c
index efa0e53..fb71557 100644
--- a/sysklogd/klogd.c
+++ b/sysklogd/klogd.c
@@ -238,11 +238,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

_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic