diff options
Diffstat (limited to 'kernel/printk.c')
-rw-r--r-- | kernel/printk.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/kernel/printk.c b/kernel/printk.c index 505863aa3a7f..37cde752cb8a 100644 --- a/kernel/printk.c +++ b/kernel/printk.c | |||
@@ -818,15 +818,18 @@ static size_t print_time(u64 ts, char *buf) | |||
818 | static size_t print_prefix(const struct log *msg, bool syslog, char *buf) | 818 | static size_t print_prefix(const struct log *msg, bool syslog, char *buf) |
819 | { | 819 | { |
820 | size_t len = 0; | 820 | size_t len = 0; |
821 | unsigned int prefix = (msg->facility << 3) | msg->level; | ||
821 | 822 | ||
822 | if (syslog) { | 823 | if (syslog) { |
823 | if (buf) { | 824 | if (buf) { |
824 | len += sprintf(buf, "<%u>", msg->level); | 825 | len += sprintf(buf, "<%u>", prefix); |
825 | } else { | 826 | } else { |
826 | len += 3; | 827 | len += 3; |
827 | if (msg->level > 9) | 828 | if (prefix > 999) |
828 | len++; | 829 | len += 3; |
829 | if (msg->level > 99) | 830 | else if (prefix > 99) |
831 | len += 2; | ||
832 | else if (prefix > 9) | ||
830 | len++; | 833 | len++; |
831 | } | 834 | } |
832 | } | 835 | } |