From 9461afd84698e2882d445b712d5597500eb97f31 Mon Sep 17 00:00:00 2001 From: Alex Kotov Date: Sun, 26 Dec 2021 11:15:49 +0500 Subject: [PATCH] Reorder and change code of console driver --- include/kernaux/console.h | 3 ++- src/console.c | 28 +++++++++++++++------------- 2 files changed, 17 insertions(+), 14 deletions(-) diff --git a/include/kernaux/console.h b/include/kernaux/console.h index 00aa2d2..b4bb176 100644 --- a/include/kernaux/console.h +++ b/include/kernaux/console.h @@ -7,10 +7,11 @@ extern "C" { #include +void kernaux_console_putc(char c); + void kernaux_console_print(const char *s); void kernaux_console_printf(const char *format, ...) __attribute__((format(printf, 1, 2))); -void kernaux_console_putc(char c); void kernaux_console_puts(const char *s); void kernaux_console_write(const char *data, size_t size); diff --git a/src/console.c b/src/console.c index ae41f10..cff793b 100644 --- a/src/console.c +++ b/src/console.c @@ -10,11 +10,6 @@ #include #include -void kernaux_console_print(const char *const s) -{ - kernaux_console_write(s, strlen(s)); -} - void kernaux_console_putc(const char c __attribute__((unused))) { #ifdef ASM_I386 @@ -22,6 +17,21 @@ void kernaux_console_putc(const char c __attribute__((unused))) #endif } +void kernaux_console_print(const char *const s) +{ + for (const char *c = s; *c; ++c) { + kernaux_console_putc(*c); + } +} + +void kernaux_console_printf(const char *format, ...) +{ + va_list va; + va_start(va, format); + kernaux_printf_va(kernaux_console_putc, format, va); + va_end(va); +} + void kernaux_console_puts(const char *const s) { kernaux_console_print(s); @@ -34,11 +44,3 @@ void kernaux_console_write(const char *const data, const size_t size) kernaux_console_putc(data[i]); } } - -void kernaux_console_printf(const char *format, ...) -{ - va_list va; - va_start(va, format); - kernaux_printf_va(kernaux_console_putc, format, va); - va_end(va); -}