summaryrefslogtreecommitdiff
path: root/libfmt/libmisc.c
diff options
context:
space:
mode:
Diffstat (limited to 'libfmt/libmisc.c')
-rw-r--r--libfmt/libmisc.c6
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;