diff options
author | Lizzy Fleckenstein <lizzy@vlhl.dev> | 2023-12-10 15:55:33 +0100 |
---|---|---|
committer | Lizzy Fleckenstein <lizzy@vlhl.dev> | 2023-12-10 15:55:33 +0100 |
commit | abef7b4dbf56ae2d4d14553dbdcc75a54ac6061e (patch) | |
tree | 9a7e940fcb1f03f36da9c63adf6606772a8be825 /stage3/font.c | |
parent | 22953e4430901b41010cda2978d19d6ca33691b7 (diff) | |
download | cuddles-abef7b4dbf56ae2d4d14553dbdcc75a54ac6061e.tar.xz |
add print_num
Diffstat (limited to 'stage3/font.c')
-rw-r--r-- | stage3/font.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/stage3/font.c b/stage3/font.c index 43f2f02..291cdb1 100644 --- a/stage3/font.c +++ b/stage3/font.c @@ -102,3 +102,22 @@ void print(const char *line) while (*line != '\0') print_char(*line++); } + + +void print_num(u64 x, u8 base, u8 pad) +{ + char digit[65]; + char *ptr = &digit[64]; + *ptr = '\0'; + + do { + u8 digit = x % base; + *--ptr = digit + (digit < 10 ? '0' : ('A' - 10)); + x /= base; + } while (x != 0); + + while (ptr > digit + 64 - pad) + *--ptr = ' '; + + print(ptr); +} |