diff options
author | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2025-07-27 15:33:22 +0200 |
---|---|---|
committer | Peter Mikkelsen <petermikkelsen10@gmail.com> | 2025-07-27 15:33:22 +0200 |
commit | efb1cf0895d6c5019f5a88fa14b59afd030fefca (patch) | |
tree | 24fe5d99faad9eeed625d0ef1a6edea65482e246 /src/screen.c | |
parent | b5a24778844f41e38168d97761d72cf0d5b400b3 (diff) |
Setup descriptor tables, and enable interrupts
Diffstat (limited to 'src/screen.c')
-rw-r--r-- | src/screen.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/screen.c b/src/screen.c index 1ce4192..903ce9c 100644 --- a/src/screen.c +++ b/src/screen.c @@ -28,6 +28,8 @@ screen_draw_pixel(uint32_t x, uint32_t y, uint32_t c) fb_mem[x + y * (fb->pitch/4)] = c; } +static int nested; + void print(char8_t *fmt, ...) { @@ -71,6 +73,9 @@ screen_clear(void) static int print_fmt(char8_t *fmt, va_list args) { + if(nested) + return 0; + char8_t digits[] = u8"0123456789ABCDEF"; char8_t *prefixes[17] = {0}; char8_t buf[65]; @@ -112,5 +117,13 @@ print_fmt(char8_t *fmt, va_list args) UINT(u8"%p", 0, 16, 16, uintptr_t); + if(utf8_cmp_n(fmt, u8"%s", 2) == 0){ + char8_t *str = va_arg(args, char8_t *); + nested++; + print(str); + nested--; + return 2; + } + return 0; } |