From da9f15874c313150672ef7673969dff97cbe1b26 Mon Sep 17 00:00:00 2001 From: ladevieq Date: Sun, 19 Jul 2026 03:30:51 +0200 Subject: Fix issue with char filling in print --- src/utils.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/utils.c b/src/utils.c index 6de7c92..f24510c 100644 --- a/src/utils.c +++ b/src/utils.c @@ -196,7 +196,7 @@ void print(const char* format, ...) { cur_char++; } else if (*cur_fmt == 'x') { u64 number = va_arg(args, u64); - u32 str_len = 0; + u32 str_len = 1; if (number > 0xfffffffffffffff) { str_len = 16U; @@ -231,9 +231,9 @@ void print(const char* format, ...) { } i64 relative_fill_count = fill_count - str_len; - if (relative_fill_count > 1) { + if (relative_fill_count > 0) { fill_chars((u8*)cur_char, '0', (u32)relative_fill_count); - cur_char += fill_count; + cur_char += relative_fill_count; } u64toa(number, cur_char, 16U); @@ -243,9 +243,9 @@ void print(const char* format, ...) { u32 str_len = 64U - __lzcnt(number); i64 relative_fill_count = fill_count - str_len; - if (relative_fill_count > 1) { + if (relative_fill_count > 0) { fill_chars((u8*)cur_char, '0', (u32)relative_fill_count); - cur_char += fill_count; + cur_char += relative_fill_count; } u64toa((u64)number, cur_char, 10U); @@ -295,9 +295,9 @@ void print(const char* format, ...) { } i64 relative_fill_count = fill_count - str_len; - if (relative_fill_count > 1U) { + if (relative_fill_count > 0) { fill_chars((u8*)cur_char, '0', (u32)relative_fill_count); - cur_char += fill_count; + cur_char += relative_fill_count; } u64toa(number, cur_char, 10U); -- cgit v1.3