diff options
| author | Aleksa Vuckovic <aleksav013@gmail.com> | 2022-08-09 09:05:02 +0200 |
|---|---|---|
| committer | Aleksa Vuckovic <aleksav013@gmail.com> | 2022-08-09 09:05:02 +0200 |
| commit | 78579419442f22641368db777120d7e75cbaee94 (patch) | |
| tree | cd49284e7fe0a4c1e8057fce6e2aa66a07f12fee /kernel/src/libk/string.c | |
| parent | e11298e56be560de64bbccfe74fef7ff85c623d1 (diff) | |
map on page fault
Diffstat (limited to 'kernel/src/libk/string.c')
| -rw-r--r-- | kernel/src/libk/string.c | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/kernel/src/libk/string.c b/kernel/src/libk/string.c index fde9645..6d7ab69 100644 --- a/kernel/src/libk/string.c +++ b/kernel/src/libk/string.c @@ -35,9 +35,34 @@ void strrev(char *s) void itos(uint64_t num, char* s) { + if (num == 0) { + s[0] = '0'; + s[1] = '\0'; + return; + } + + size_t i; + for (i = 0; num; num /= 10, i++) { + s[i] = (char)('0' + num % 10); + } + s[i] = '\0'; + strrev(s); +} + +void itoh(uint64_t num, char* s) +{ + if (num == 0) { + s[0] = '0'; + s[1] = '\0'; + return; + } + size_t i; - for (i = 0; num; num/=10, i++) { - s[i] = (char)('0' + num%10); + for (i = 0; num; num /= 16, i++) { + if (num % 16 < 10) + s[i] = (char)('0' + num % 16); + else + s[i] = (char)('A' + num % 16 - 10); } s[i] = '\0'; strrev(s); |
