From 157f8c93ad6c9723c8f708d3c56e8f9fcf761773 Mon Sep 17 00:00:00 2001 From: Kaspar Schleiser <kaspar@schleiser.de> Date: Thu, 19 Nov 2015 12:54:09 +0100 Subject: [PATCH] sys: fmt: add workaround for AVR libc's missing write() --- sys/fmt/fmt.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/fmt/fmt.c b/sys/fmt/fmt.c index 4ddc63f4b9..803b1e0d63 100644 --- a/sys/fmt/fmt.c +++ b/sys/fmt/fmt.c @@ -137,6 +137,10 @@ uint32_t scn_u32_dec(const char *str, size_t n) void print(const char *s, size_t n) { +#ifdef __WITH_AVRLIBC__ + /* AVR's libc doesn't offer write(), so use fwrite() instead */ + fwrite(s, n, 1, stdout); +#else while (n > 0) { ssize_t written = write(STDOUT_FILENO, s, n); if (written < 0) { @@ -145,6 +149,7 @@ void print(const char *s, size_t n) n -= written; s += written; } +#endif /* __WITH_AVRLIBC__ */ } void print_u32_dec(uint32_t val) -- GitLab