diff options
Diffstat (limited to 'libfmt/libmisc.c')
-rw-r--r-- | libfmt/libmisc.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libfmt/libmisc.c b/libfmt/libmisc.c index 4586c30..803b281 100644 --- a/libfmt/libmisc.c +++ b/libfmt/libmisc.c @@ -5,7 +5,7 @@ */ #include <stdarg.h> /* for va_list, va_start(), va_end() */ -#include <stdio.h> /* for vprintf(), putchar() */ +#include <stdio.h> /* for vprintf(), putchar(), fflush() */ #if LIB_PICO_STDIO #include <pico/stdio.h> /* for stdio_putchar_raw() */ #endif @@ -17,6 +17,8 @@ #if LIB_PICO_STDIO static void libfmt_light_fct(char character, void *LM_UNUSED(arg)) { + if (character == '\n') + stdio_putchar_raw('\r'); stdio_putchar_raw(character); } #else @@ -35,6 +37,7 @@ int __lm_printf(const char *format, ...) { int ret = vprintf(format, va); #else int ret = fmt_vfctprintf(libfmt_libc_fct, NULL, format, va); + fflush(stdout); #endif va_end(va); return ret; @@ -53,6 +56,7 @@ int __lm_light_printf(const char *format, ...) { stdio_flush(); #else int ret = fmt_vfctprintf(libfmt_libc_fct, NULL, format, va); + fflush(stdout); #endif va_end(va); return ret; |