From 3441b319001d5c9c4db365bc08dd779eaa0e9bea Mon Sep 17 00:00:00 2001 From: Tom-on64 Date: Thu, 11 Apr 2024 13:12:13 +0200 Subject: [PATCH] Added atoi() function to string.h header --- src/kernel/string.c | 12 ++++++++++++ src/kernel/string.h | 1 + 2 files changed, 13 insertions(+) diff --git a/src/kernel/string.c b/src/kernel/string.c index 122aefd..55ac15f 100644 --- a/src/kernel/string.c +++ b/src/kernel/string.c @@ -18,6 +18,18 @@ char* itoa(uint32_t val, uint8_t base) { return &buf[i + 1]; } +uint32_t atoi(const char* str) { + uint32_t res = 0; + + // TODO: Add error checking + + while (*str >= '0' && *str <= '9') { + res = res * 10 + (*str++ - '0'); + } + + return res; +} + // Some implementations taken from https://en.wikibooks.org/wiki/C_Programming/String_manipulation char* strcat(char* str1, const char* str2) { char* s = str1; diff --git a/src/kernel/string.h b/src/kernel/string.h index 4a7e761..f6f700a 100644 --- a/src/kernel/string.h +++ b/src/kernel/string.h @@ -4,6 +4,7 @@ #include "stdint.h" char* itoa(uint32_t val, uint8_t base); +uint32_t atoi(const char* str); char* strcat(char* str1, const char* str2); char* strchr(const char* str, char c);