[Base] Fix fpfs with GCC/Clang

The fpfs function is using strtof to convert a string to floating point
value, but the type may be a double. Using strtof in that case won't
provide enough precision, so switch to using strtod. When the type is a
float, the double will be down-converted to the correct value.
This commit is contained in:
sephiroth99 2021-08-05 00:05:17 -04:00 committed by Rick Gibbed
parent f933d9c409
commit 4861022158
1 changed files with 1 additions and 1 deletions

View File

@ -221,7 +221,7 @@ inline T fpfs(const std::string_view value, bool force_hex) {
} else { } else {
#if XE_COMPILER_CLANG || XE_COMPILER_GNUC #if XE_COMPILER_CLANG || XE_COMPILER_GNUC
auto temp = std::string(range); auto temp = std::string(range);
result = std::strtof(temp.c_str(), nullptr); result = std::strtod(temp.c_str(), nullptr);
#else #else
auto [p, error] = std::from_chars(range.data(), range.data() + range.size(), auto [p, error] = std::from_chars(range.data(), range.data() + range.size(),
result, std::chars_format::general); result, std::chars_format::general);