From d1457e8be66901bb0e7c0ceb28aaa7ccf24de056 Mon Sep 17 00:00:00 2001 From: "S.J.R. van Schaik" Date: Mon, 23 Oct 2017 13:37:18 +0200 Subject: [PATCH] usart: stm32f0: stm32f1: do not null-terminate the buffer in console_read() --- source/platform/usart.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/source/platform/usart.c b/source/platform/usart.c index b3abe70..d3e1080 100644 --- a/source/platform/usart.c +++ b/source/platform/usart.c @@ -150,19 +150,14 @@ ssize_t console_read(struct console *console, char *buf, size_t n) char *p = buf; char c; - *buf = '\0'; - while (console_peek(&c, console, 1) == 0) { switch (c) { case '\004': - if (buf < p) - goto out; - console_getc(&c, console); - return 0; + return p - buf; default: if (((size_t)p - (size_t)buf) >= n) - goto out; + return p - buf; *p++ = c; console_getc(&c, console); @@ -170,9 +165,6 @@ ssize_t console_read(struct console *console, char *buf, size_t n) } } -out: - *p = '\0'; - return p - buf; }