From 6578fef47f577440e94c6cc161854e8525f324fa Mon Sep 17 00:00:00 2001 From: Jessica James Date: Sun, 20 Feb 2022 08:30:56 -0600 Subject: [PATCH] Fix rom_string methods for platforms where sizeof(long) > sizeof(int) --- src/include/Jupiter/Readable_String.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/include/Jupiter/Readable_String.h b/src/include/Jupiter/Readable_String.h index ca522e3..ff986c8 100644 --- a/src/include/Jupiter/Readable_String.h +++ b/src/include/Jupiter/Readable_String.h @@ -117,12 +117,22 @@ namespace Jupiter { template<> inline long from_string(std::string_view in_string) { - return asInt(in_string); + if constexpr (sizeof(long) == sizeof(int)) { + return asInt(in_string); + } + else { + return static_cast(asLongLong(in_string)); + } } template<> inline unsigned long from_string(std::string_view in_string) { - return asUnsignedInt(in_string); + if constexpr (sizeof(long) == sizeof(int)) { + return asUnsignedInt(in_string); + } + else { + return static_cast(asUnsignedLongLong(in_string)); + } } template<>