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<>