diff options
Diffstat (limited to 'kernel/src/libk/stdio.c')
| -rw-r--r-- | kernel/src/libk/stdio.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/src/libk/stdio.c b/kernel/src/libk/stdio.c index b8ddb67..be75b73 100644 --- a/kernel/src/libk/stdio.c +++ b/kernel/src/libk/stdio.c @@ -47,6 +47,13 @@ inline void print_int(uint64_t num) print_string(a); } +inline void print_hex(uint64_t num) +{ + char a[100]; + itoh(num, a); + print_string(a); +} + void printf(const char *s, ...) { size_t count = 0; @@ -63,6 +70,7 @@ void printf(const char *s, ...) if(s[i] == 'c') print_char((char)va_arg(list, uint32_t)); else if(s[i] == 's') print_string(va_arg(list, char*)); else if(s[i] == 'd') print_int((uint64_t)va_arg(list, uint64_t)); + else if(s[i] == 'x') print_hex((uint64_t)va_arg(list, uint64_t)); else { print_string("Wrong format using printf\n"); |
