From 4c24fc126bdc68413f480ac18856c54ba0e42640 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?King=20K=C3=A9vin?= Date: Sat, 21 Dec 2019 19:24:55 +0100 Subject: [PATCH] print: add puts --- lib/print.c | 9 +++++++++ lib/print.h | 7 +++++++ 2 files changed, 16 insertions(+) diff --git a/lib/print.c b/lib/print.c index 106a088..94c3491 100644 --- a/lib/print.c +++ b/lib/print.c @@ -30,6 +30,15 @@ uint8_t print_error; +size_t puts(char* str) +{ + size_t printed = 0; // number of characters printed + while (*str) { // go until end of string (\0 string termination character) + ADDU32_SAFE(printed, putc(*str++)); // print character + } + return printed; +} + /** add printed length to total printed length, and sets error if maximum size is exceeded * @param[in,out] length total printed length * @param[in] printed printed length diff --git a/lib/print.h b/lib/print.h index 78d31d1..e9517e7 100644 --- a/lib/print.h +++ b/lib/print.h @@ -48,6 +48,13 @@ extern uint8_t print_error; /**< flags to indicate which error(s) occurred withi * @return number of characters printed **/ size_t putc(char c); +/** print string + * @param[in] str string to print + * @return number of characters printed + * @note uses putc to output characters + * @note does not require print functions (and is faster/simpler) + */ +size_t puts(char* str); /** print format string on user output * @param[in] format format string to be printed * @param[in] ... arguments referenced by format string to be printed