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