Commit 039cedaf authored by Niels's avatar Niels

changes to address #295

parent 628a5eae
...@@ -8892,7 +8892,8 @@ basic_json_parser_63: ...@@ -8892,7 +8892,8 @@ basic_json_parser_63:
{ {
case lexer::token_type::begin_object: case lexer::token_type::begin_object:
{ {
if (keep and (not callback or (keep = callback(depth++, parse_event_t::object_start, result)))) if (keep and (not callback
or ((keep = callback(depth++, parse_event_t::object_start, result)) != 0)))
{ {
// explicitly set result to object to cope with {} // explicitly set result to object to cope with {}
result.m_type = value_t::object; result.m_type = value_t::object;
...@@ -8970,7 +8971,8 @@ basic_json_parser_63: ...@@ -8970,7 +8971,8 @@ basic_json_parser_63:
case lexer::token_type::begin_array: case lexer::token_type::begin_array:
{ {
if (keep and (not callback or (keep = callback(depth++, parse_event_t::array_start, result)))) if (keep and (not callback
or ((keep = callback(depth++, parse_event_t::array_start, result)) != 0)))
{ {
// explicitly set result to object to cope with [] // explicitly set result to object to cope with []
result.m_type = value_t::array; result.m_type = value_t::array;
......
...@@ -8189,7 +8189,8 @@ class basic_json ...@@ -8189,7 +8189,8 @@ class basic_json
{ {
case lexer::token_type::begin_object: case lexer::token_type::begin_object:
{ {
if (keep and (not callback or (keep = callback(depth++, parse_event_t::object_start, result)))) if (keep and (not callback
or ((keep = callback(depth++, parse_event_t::object_start, result)) != 0)))
{ {
// explicitly set result to object to cope with {} // explicitly set result to object to cope with {}
result.m_type = value_t::object; result.m_type = value_t::object;
...@@ -8267,7 +8268,8 @@ class basic_json ...@@ -8267,7 +8268,8 @@ class basic_json
case lexer::token_type::begin_array: case lexer::token_type::begin_array:
{ {
if (keep and (not callback or (keep = callback(depth++, parse_event_t::array_start, result)))) if (keep and (not callback
or ((keep = callback(depth++, parse_event_t::array_start, result)) != 0)))
{ {
// explicitly set result to object to cope with [] // explicitly set result to object to cope with []
result.m_type = value_t::array; result.m_type = value_t::array;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment