Fix warning C4706

This commit is contained in:
Jamie Seward 2017-10-16 00:41:58 -07:00
parent 19f8f1c075
commit 8a4af820c7

View File

@ -3034,12 +3034,20 @@ class parser
{
case token_type::begin_object:
{
if (keep and (not callback or ((keep = callback(depth++, parse_event_t::object_start, result)))))
{
// explicitly set result to object to cope with {}
result.m_type = value_t::object;
result.m_value = value_t::object;
}
if (keep)
{
if (callback)
{
keep = callback(depth++, parse_event_t::object_start, result);
}
if (not callback or keep)
{
// explicitly set result to object to cope with {}
result.m_type = value_t::object;
result.m_value = value_t::object;
}
}
// read next token
get_token();
@ -3130,11 +3138,19 @@ class parser
case token_type::begin_array:
{
if (keep and (not callback or ((keep = callback(depth++, parse_event_t::array_start, result)))))
if (keep)
{
// explicitly set result to object to cope with []
result.m_type = value_t::array;
result.m_value = value_t::array;
if (callback)
{
keep = callback(depth++, parse_event_t::array_start, result);
}
if (not callback or keep)
{
// explicitly set result to object to cope with []
result.m_type = value_t::array;
result.m_value = value_t::array;
}
}
// read next token