Merge branch 'develop' into feature/jsontestsuite
This commit is contained in:
commit
3716a2fbe8
3 changed files with 20 additions and 0 deletions
|
@ -9121,6 +9121,13 @@ basic_json_parser_66:
|
|||
{
|
||||
// parse with strtod
|
||||
result.m_value.number_float = str_to_float_t(static_cast<number_float_t*>(nullptr), NULL);
|
||||
|
||||
// replace infinity and NAN by null
|
||||
if (not std::isfinite(result.m_value.number_float))
|
||||
{
|
||||
type = value_t::null;
|
||||
result.m_value = basic_json::json_value();
|
||||
}
|
||||
}
|
||||
|
||||
// save the type
|
||||
|
|
|
@ -8270,6 +8270,13 @@ class basic_json
|
|||
{
|
||||
// parse with strtod
|
||||
result.m_value.number_float = str_to_float_t(static_cast<number_float_t*>(nullptr), NULL);
|
||||
|
||||
// replace infinity and NAN by null
|
||||
if (not std::isfinite(result.m_value.number_float))
|
||||
{
|
||||
type = value_t::null;
|
||||
result.m_value = basic_json::json_value();
|
||||
}
|
||||
}
|
||||
|
||||
// save the type
|
||||
|
|
|
@ -489,4 +489,10 @@ TEST_CASE("regression tests")
|
|||
j["/this/that/2"_json_pointer] = 27;
|
||||
CHECK(j == json({{"this", {{"that", {nullptr, nullptr, 27}}}}}));
|
||||
}
|
||||
|
||||
SECTION("issue #329 - serialized value not always can be parsed")
|
||||
{
|
||||
json j = json::parse("22e2222");
|
||||
CHECK(j == json());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue