The output is garbled when tiny printf() is used. Correct this by adding
a special case.

Signed-off-by: Simon Glass <s...@chromium.org>
---

Changes in v2:
- Add new patch to support outputing function names in SPL

 common/log_console.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/common/log_console.c b/common/log_console.c
index f1dcc04b97c9..bb091ce21a4a 100644
--- a/common/log_console.c
+++ b/common/log_console.c
@@ -37,8 +37,14 @@ static int log_console_emit(struct log_device *ldev, struct 
log_rec *rec)
                        printf("%s:", rec->file);
                if (fmt & BIT(LOGF_LINE))
                        printf("%d-", rec->line);
-               if (fmt & BIT(LOGF_FUNC))
-                       printf("%*s()", CONFIG_LOGF_FUNC_PAD, rec->func);
+               if (fmt & BIT(LOGF_FUNC)) {
+                       if (CONFIG_IS_ENABLED(USE_TINY_PRINTF)) {
+                               printf("%s()", rec->func);
+                       } else {
+                               printf("%*s()", CONFIG_LOGF_FUNC_PAD,
+                                      rec->func);
+                       }
+               }
        }
        if (fmt & BIT(LOGF_MSG))
                printf("%s%s", add_space ? " " : "", rec->msg);
-- 
2.40.0.634.g4ca3ef3211-goog

Reply via email to