From 6f77c541db4f58d7a3fbc8fbd52caa4c379a884e Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Mon, 19 Dec 2022 23:10:44 +0100 Subject: add aec to wstdf --- lib/io/Makefile | 2 +- lib/io/io.c | 19 ++++++++++++++++--- lib/io/test | Bin 20240 -> 26504 bytes 3 files changed, 17 insertions(+), 4 deletions(-) (limited to 'lib/io') diff --git a/lib/io/Makefile b/lib/io/Makefile index e60a656..73aa785 100644 --- a/lib/io/Makefile +++ b/lib/io/Makefile @@ -1,3 +1,3 @@ unit_test: - gcc io.c ../cstr/cstr.c ../sys/start.S -o test -static -nostdlib -fno-stack-protector -Wno-implicit-function-declaration -g + gcc io.c ../aec/aec.c ../cstr/cstr.c ../env/env.c ../sys/start.S -o test -static -nostdlib -fno-stack-protector -Wno-implicit-function-declaration -DIO_LIB_UNIT_TEST -g ./test diff --git a/lib/io/io.c b/lib/io/io.c index 160b4cb..3b0ea96 100644 --- a/lib/io/io.c +++ b/lib/io/io.c @@ -1,6 +1,7 @@ #include "io.h" #include "../cstr/cstr.h" +#include "../aec/aec.h" void __wstdn(const char *buf, u64 n) { @@ -33,7 +34,20 @@ void wstdf__(const char *buf, const void **args) case '%': __wstdn("%", 1); break; case 's': __wstdn(((const char **)args)[0], cstr_length(((const char**)args)[0])); - ++args; break; + ++args; + break; + case 'S': + sgr(((const char **)args)[0]); + ++args; + break; + case 'F': + foreground(((const char **)args)[0]); + ++args; + break; + case 'B': + background(((const char **)args)[0]); + ++args; + break; } start = buf + 1; @@ -46,7 +60,6 @@ void wstdf__(const char *buf, const void **args) #ifdef IO_LIB_UNIT_TEST int main() { - void *args[] = { "hallo", "welt" }; - wstdf__("%s %s\n", args); + wstdf("%s %S%F%s%S\n", "hallo", SGR_UNDERLINE, COLOR_RED, "welt", SGR_RESET); } #endif diff --git a/lib/io/test b/lib/io/test index 560b047..b2a3047 100755 Binary files a/lib/io/test and b/lib/io/test differ -- cgit v1.2.3-70-g09d2