Skip to content

Commit 25c5766

Browse files
committed
Use from_chars when supported in GCC and VS
1 parent a7c248f commit 25c5766

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

include/jsoncons/detail/parse_number.hpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -926,7 +926,11 @@ class to_double_t
926926
operator()(const CharT* s, std::size_t len) const
927927
{
928928
double val = 0;
929-
std::from_chars(s, s+len, val);
929+
const auto res = std::from_chars(s, s+len, val);
930+
if (res.ec != std::errc())
931+
{
932+
JSONCONS_THROW(json_runtime_error<std::invalid_argument>("Convert string to double failed"));
933+
}
930934
return val;
931935
}
932936

@@ -941,7 +945,11 @@ class to_double_t
941945
}
942946

943947
double val = 0;
944-
std::from_chars(input.data(), input.data() + len, val);
948+
const auto res = std::from_chars(input.data(), input.data() + len, val);
949+
if (res.ec != std::errc())
950+
{
951+
JSONCONS_THROW(json_runtime_error<std::invalid_argument>("Convert string to double failed"));
952+
}
945953
return val;
946954
}
947955
};

0 commit comments

Comments
 (0)