diff options
| -rw-r--r-- | src/pugixml.cpp | 3 | ||||
| -rw-r--r-- | tests/test_parse_doctype.cpp | 24 | 
2 files changed, 13 insertions, 14 deletions
| diff --git a/src/pugixml.cpp b/src/pugixml.cpp index dcb25f7..574bb08 100644 --- a/src/pugixml.cpp +++ b/src/pugixml.cpp @@ -1853,7 +1853,6 @@ namespace  		{
  			// load into registers
  			char_t* s = ref_s;
 -			char_t ch = 0;
  			// parse node contents, starting with exclamation mark
  			++s;
 @@ -1921,7 +1920,7 @@ namespace  							SCANFOR(s[0] == ']' && s[1] == ']' && ENDSWITH(s[2], '>'));
  							CHECK_ERROR(status_bad_cdata, s);
 -							ENDSEG(); // Zero-terminate this segment.
 +							*s++ = 0; // Zero-terminate this segment.
  						}
  						POPNODE(); // Pop since this is a standalone.
 diff --git a/tests/test_parse_doctype.cpp b/tests/test_parse_doctype.cpp index 2df51a0..5ab8140 100644 --- a/tests/test_parse_doctype.cpp +++ b/tests/test_parse_doctype.cpp @@ -2,30 +2,30 @@  #include <string>
 -bool test_doctype_wf(const std::basic_string<char_t>& decl)
 +static bool test_doctype_wf(const std::basic_string<char_t>& decl)
  {
  	xml_document doc;
  	// standalone
 -	if (!doc.load(decl.c_str()) || doc.first_child()) return false;
 +	if (!doc.load(decl.c_str()) || (bool)doc.first_child()) return false;
  	// pcdata pre/postfix
 -	if (!doc.load(("a" + decl).c_str()) || doc.first_child()) return false;
 -	if (!doc.load((decl + "b").c_str()) || doc.first_child()) return false;
 -	if (!doc.load(("a" + decl + "b").c_str()) || doc.first_child()) return false;
 +	if (!doc.load((STR("a") + decl).c_str()) || (bool)doc.first_child()) return false;
 +	if (!doc.load((decl + STR("b")).c_str()) || (bool)doc.first_child()) return false;
 +	if (!doc.load((STR("a") + decl + STR("b")).c_str()) || (bool)doc.first_child()) return false;
  	// node pre/postfix
 -	if (!doc.load(("<nodea/>" + decl).c_str()) || !test_node(doc, STR("<nodea />"), STR(""), format_raw)) return false;
 -	if (!doc.load((decl + "<nodeb/>").c_str()) || !test_node(doc, STR("<nodeb />"), STR(""), format_raw)) return false;
 -	if (!doc.load(("<nodea/>" + decl + "<nodeb/>").c_str()) || !test_node(doc, STR("<nodea /><nodeb />"), STR(""), format_raw)) return false;
 +	if (!doc.load((STR("<nodea/>") + decl).c_str()) || !test_node(doc, STR("<nodea />"), STR(""), format_raw)) return false;
 +	if (!doc.load((decl + STR("<nodeb/>")).c_str()) || !test_node(doc, STR("<nodeb />"), STR(""), format_raw)) return false;
 +	if (!doc.load((STR("<nodea/>") + decl + STR("<nodeb/>")).c_str()) || !test_node(doc, STR("<nodea /><nodeb />"), STR(""), format_raw)) return false;
  	// wrap in node to check that doctype is parsed fully (does not leave any "pcdata")
 -	if (!doc.load(("<node>" + decl + "</node>").c_str()) || !test_node(doc, STR("<node />"), STR(""), format_raw)) return false;
 +	if (!doc.load((STR("<node>") + decl + STR("</node>")).c_str()) || !test_node(doc, STR("<node />"), STR(""), format_raw)) return false;
  	return true;
  }
 -bool test_doctype_nwf(const std::basic_string<char_t>& decl)
 +static bool test_doctype_nwf(const std::basic_string<char_t>& decl)
  {
  	xml_document doc;
 @@ -33,10 +33,10 @@ bool test_doctype_nwf(const std::basic_string<char_t>& decl)  	if (doc.load(decl.c_str()).status != status_bad_doctype) return false;
  	// pcdata postfix
 -	if (doc.load((decl + "b").c_str()).status != status_bad_doctype) return false;
 +	if (doc.load((decl + STR("b")).c_str()).status != status_bad_doctype) return false;
  	// node postfix
 -	if (doc.load((decl + "<nodeb/>").c_str()).status != status_bad_doctype) return false;
 +	if (doc.load((decl + STR("<nodeb/>")).c_str()).status != status_bad_doctype) return false;
  	return true;
  }
 | 
