summaryrefslogtreecommitdiff
path: root/stage3/font.c
diff options
context:
space:
mode:
authorLizzy Fleckenstein <lizzy@vlhl.dev>2023-12-10 15:55:33 +0100
committerLizzy Fleckenstein <lizzy@vlhl.dev>2023-12-10 15:55:33 +0100
commitabef7b4dbf56ae2d4d14553dbdcc75a54ac6061e (patch)
tree9a7e940fcb1f03f36da9c63adf6606772a8be825 /stage3/font.c
parent22953e4430901b41010cda2978d19d6ca33691b7 (diff)
downloadcuddles-abef7b4dbf56ae2d4d14553dbdcc75a54ac6061e.tar.xz
add print_num
Diffstat (limited to 'stage3/font.c')
-rw-r--r--stage3/font.c19
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);
+}