diff --git a/src/base/base_strings.c b/src/base/base_strings.c index c69d83cd..8d8c1361 100644 --- a/src/base/base_strings.c +++ b/src/base/base_strings.c @@ -549,6 +549,14 @@ u64_from_str8(String8 string, U32 radix){ return(x); } +internal U32 +u32_from_str8(String8 string, U32 radix) +{ + U64 x64 = u64_from_str8(string, radix); + U32 x32 = safe_cast_u32(x64); + return x32; +} + internal S64 s64_from_str8(String8 string, U32 radix){ S64 sign = sign_from_str8(string, &string); diff --git a/src/base/base_strings.h b/src/base/base_strings.h index abfca491..7702aa66 100644 --- a/src/base/base_strings.h +++ b/src/base/base_strings.h @@ -235,6 +235,8 @@ internal String8 push_str8f(Arena *arena, char *fmt, ...); //- rjf: string -> integer internal S64 sign_from_str8(String8 string, String8 *string_tail); internal B32 str8_is_integer(String8 string, U32 radix); + +internal U32 u32_from_str8(String8 string, U32 radix); internal U64 u64_from_str8(String8 string, U32 radix); internal S64 s64_from_str8(String8 string, U32 radix); internal B32 try_u64_from_str8_c_rules(String8 string, U64 *x);