From 1f71b9576db536af84155363e14fc49e92de2eef Mon Sep 17 00:00:00 2001 From: Brett Weiland Date: Sun, 29 Aug 2021 02:52:48 -0500 Subject: backup 8.29.21 --- src/kernel/printf.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'src/kernel/printf.c') diff --git a/src/kernel/printf.c b/src/kernel/printf.c index 8267755..b496bce 100644 --- a/src/kernel/printf.c +++ b/src/kernel/printf.c @@ -33,10 +33,11 @@ #include #include + #include "printf.h" //this is my own ugly library -#include +#include //and my options /** @@ -161,12 +162,7 @@ static inline void _out_char(char character, void* buffer, size_t idx, size_t ma { (void)buffer; (void)idx; (void)maxlen; if (character) { -#ifdef SCREEN_OUTPUT - _putchar_screen(character); -#else - _putchar_serial(COM1, character); // later we should figure out a way to not specifify exclusively com1 -#endif - + _putchar(character); } } @@ -874,17 +870,24 @@ static int _vsnprintf(out_fct_type out, char* buffer, const size_t maxlen, const /////////////////////////////////////////////////////////////////////////////// +#include +static uint8_t printf_lock = 0; int printf_(const char* format, ...) { + //BRETT modification + lock(&printf_lock); va_list va; va_start(va, format); char buffer[1]; const int ret = _vsnprintf(_out_char, buffer, (size_t)-1, format, va); va_end(va); + unlock(&printf_lock); return ret; } +/////////////////////////////////////////////////////////////////////////////// + int sprintf_(char* buffer, const char* format, ...) { -- cgit v1.2.3