From: Brendan Hansen Date: Thu, 21 May 2020 03:45:13 +0000 (-0500) Subject: Small bugfixes for bh_printf family X-Git-Url: https://git.brendanfh.com/?a=commitdiff_plain;h=78637ad0585340e42343d23ce7c6e38b8f1d9f3e;p=onyx.git Small bugfixes for bh_printf family --- diff --git a/bh.h b/bh.h index 095abcd6..26ff3bc0 100644 --- a/bh.h +++ b/bh.h @@ -1340,23 +1340,27 @@ isize bh__printi64(char* str, isize n, bh__print_format format, i64 value) { b32 negative = value < 0; u32 base = format.base ? format.base : 10, tmp; - while (value > 0) { - tmp = value % base; - if (tmp > 9) { - switch (tmp) { - case 10: tmp = 'a'; break; - case 11: tmp = 'b'; break; - case 12: tmp = 'c'; break; - case 13: tmp = 'd'; break; - case 14: tmp = 'e'; break; - case 15: tmp = 'f'; break; + if (value == 0) { + *--walker = '0'; + } else { + while (value > 0) { + tmp = value % base; + if (tmp > 9) { + switch (tmp) { + case 10: tmp = 'a'; break; + case 11: tmp = 'b'; break; + case 12: tmp = 'c'; break; + case 13: tmp = 'd'; break; + case 14: tmp = 'e'; break; + case 15: tmp = 'f'; break; + } + } else { + tmp += '0'; } - } else { - tmp += '0'; - } - *--walker = tmp; - value /= base; + *--walker = tmp; + value /= base; + } } if (negative) { @@ -1382,7 +1386,6 @@ isize bh_snprintf_va(char *str, isize n, char const *fmt, va_list va) { while (*fmt && *fmt != '%') { *(str++) = *(fmt++); - len++; } if (!*fmt) goto end_of_format; diff --git a/onyx b/onyx index 3c7d2ad1..53dfc750 100755 Binary files a/onyx and b/onyx differ