From 1b24c4f279761e2682b6639d9ec106b6bd0d8f4b Mon Sep 17 00:00:00 2001 From: Bananymous Date: Thu, 15 Feb 2024 12:25:56 +0200 Subject: [PATCH] LibC: Implement strtou{l,ll} --- libc/stdlib.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/libc/stdlib.cpp b/libc/stdlib.cpp index 1d4e7a35..d36f9cf2 100644 --- a/libc/stdlib.cpp +++ b/libc/stdlib.cpp @@ -113,7 +113,7 @@ static T strtoT(const char* str, char** endp, int base) // limits of type T constexpr T max_val = BAN::numeric_limits::max(); - constexpr T min_val = -max_val - 1; + constexpr T min_val = BAN::is_signed_v ? -max_val - 1 : 0; bool overflow = false; @@ -191,6 +191,16 @@ long long strtoll(const char* __restrict str, char** __restrict endp, int base) return strtoT(str, endp, base); } +unsigned long strtoul(const char* __restrict str, char** __restrict endp, int base) +{ + return strtoT(str, endp, base); +} + +unsigned long long strtoull(const char* __restrict str, char** __restrict endp, int base) +{ + return strtoT(str, endp, base); +} + char* getenv(const char* name) { if (environ == nullptr)