diff options
author | Oleksij Rempel <o.rempel@pengutronix.de> | 2019-02-21 14:55:48 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-02-27 09:20:28 +0100 |
commit | 1c0e8268ead48c1a94ab189dd0f2a5c03b1a9af3 (patch) | |
tree | 6ce0266f1c502708a577cb3dae2a2e4f68bd8bf4 | |
parent | 34b9ee02ae460f4283f6096db308d5e7f8f36d45 (diff) | |
download | barebox-1c0e8268ead48c1a94ab189dd0f2a5c03b1a9af3.tar.gz barebox-1c0e8268ead48c1a94ab189dd0f2a5c03b1a9af3.tar.xz |
common: console_common: do not store color additions to the log buffer
it is needed for raw dmesg output
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | common/console_common.c | 35 |
1 files changed, 18 insertions, 17 deletions
diff --git a/common/console_common.c b/common/console_common.c index 4aa54de97a..a4d2636753 100644 --- a/common/console_common.c +++ b/common/console_common.c @@ -79,6 +79,18 @@ void log_clean(unsigned int limit) } } +static void print_colored_log_level(const int level) +{ + if (!console_allow_color()) + return; + if (level >= ARRAY_SIZE(colored_log_level)) + return; + if (!colored_log_level[level]) + return; + + puts(colored_log_level[level]); +} + static void pr_puts(int level, const char *str) { struct log_entry *log; @@ -108,21 +120,10 @@ nolog: if (level > barebox_loglevel) return; + print_colored_log_level(level); puts(str); } -static void print_colored_log_level(const int level) -{ - if (!console_allow_color()) - return; - if (level >= ARRAY_SIZE(colored_log_level)) - return; - if (!colored_log_level[level]) - return; - - pr_puts(level, colored_log_level[level]); -} - int pr_print(int level, const char *fmt, ...) { va_list args; @@ -132,8 +133,6 @@ int pr_print(int level, const char *fmt, ...) if (!IS_ENABLED(CONFIG_LOGBUF) && level > barebox_loglevel) return 0; - print_colored_log_level(level); - va_start(args, fmt); i = vsprintf(printbuffer, fmt, args); va_end(args); @@ -152,8 +151,6 @@ int dev_printf(int level, const struct device_d *dev, const char *format, ...) if (!IS_ENABLED(CONFIG_LOGBUF) && level > barebox_loglevel) return 0; - print_colored_log_level(level); - if (dev->driver && dev->driver->name) ret += sprintf(printbuffer, "%s ", dev->driver->name); @@ -205,7 +202,11 @@ void log_print(unsigned flags, unsigned levels) if (levels && !(levels & (1 << log->level))) continue; - if (flags & (BAREBOX_LOG_PRINT_RAW)) + if (!(flags & (BAREBOX_LOG_PRINT_RAW | BAREBOX_LOG_PRINT_TIME + | BAREBOX_LOG_DIFF_TIME))) + print_colored_log_level(log->level); + + if (flags & BAREBOX_LOG_PRINT_RAW) printf("<%i>", log->level); do_div(diff, 1000); |