diff --git a/src/pugixml.cpp b/src/pugixml.cpp index f9d4ad6237b8b12432f992e6decce15648cfaef4..7063fc3854897706547969ffe5ad112dabad0356 100644 --- a/src/pugixml.cpp +++ b/src/pugixml.cpp @@ -1796,7 +1796,10 @@ namespace inline xml_parse_result make_parse_result(xml_parse_status status, ptrdiff_t offset = 0) { - xml_parse_result result = {status, offset, encoding_auto}; + xml_parse_result result; + result.status = status; + result.offset = offset; + return result; } @@ -2276,7 +2279,8 @@ namespace { s = parse_question(s, cursor, optmsk, endch); - if (cursor && (cursor->header & xml_memory_page_type_mask) == node_declaration) goto LOC_ATTRIBUTES; + assert(cursor); + if ((cursor->header & xml_memory_page_type_mask) == node_declaration) goto LOC_ATTRIBUTES; } else if (*s == '!') // '<!...' { diff --git a/src/pugixml.hpp b/src/pugixml.hpp index fbb9fccb460c274eb7bcecfe65bf164fd0ea4a6e..89494bf9d27b75d7b37cb58de9bb531a0a2fbe51 100644 --- a/src/pugixml.hpp +++ b/src/pugixml.hpp @@ -1558,6 +1558,10 @@ namespace pugi /// Source document encoding xml_encoding encoding; + xml_parse_result(): status(status_internal_error), offset(0), encoding(encoding_auto) + { + } + /// Cast to bool operator operator bool() const {