diff options
Diffstat (limited to 'src/kernel/lib/string.c')
-rw-r--r-- | src/kernel/lib/string.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/kernel/lib/string.c b/src/kernel/lib/string.c index c171439..12b4b06 100644 --- a/src/kernel/lib/string.c +++ b/src/kernel/lib/string.c @@ -10,7 +10,7 @@ size_t strlen(const char *str) { size_t strcmp(const char *s1, const char *s2) { size_t s_a = strlen(s1); - for (size_t i = 0; i < s_a; i++) + for (size_t i = 0; i < s_a; i++) if (s1[i] != s2[i]) return 1; return 0; @@ -30,3 +30,23 @@ void strcpy(char *dest, const char *src) { for (size_t i = 0; i < s_orig; i++) dest[i] = src[i]; dest[s_orig] = 0; } + +char *itoa(int i, char b[]) { + char const digit[] = "0123456789"; + char *p = b; + if (i < 0) { + *p++ = '-'; + i *= -1; + } + int shifter = i; + do { + ++p; + shifter = shifter / 10; + } while (shifter); + *p = '\0'; + do { + *--p = digit[i % 10]; + i = i / 10; + } while (i); + return b; +}
\ No newline at end of file |