diff options
-rw-r--r-- | SAX2.c | 1 | ||||
-rw-r--r-- | debugXML.c | 4 | ||||
-rw-r--r-- | xmllint.c | 7 |
3 files changed, 8 insertions, 4 deletions
@@ -1446,6 +1446,7 @@ process_external_subset: (const char *)fulln, (const char *)attr->elem); } + xmlFree(fulln); } attr = attr->nexth; } @@ -259,7 +259,9 @@ xmlCtxtCheckName(xmlDebugCtxtPtr ctxt, const xmlChar * name) "Name is not an NCName '%s'", (const char *) name); } if ((ctxt->dict != NULL) && - (!xmlDictOwns(ctxt->dict, name))) { + (!xmlDictOwns(ctxt->dict, name)) && + ((ctxt->doc == NULL) || + ((ctxt->doc->parseFlags & (XML_PARSE_SAX1 | XML_PARSE_NODICT)) == 0))) { xmlDebugErr3(ctxt, XML_CHECK_OUTSIDE_DICT, "Name is not from the document dictionnary '%s'", (const char *) name); @@ -3221,16 +3221,17 @@ main(int argc, char **argv) { #ifdef LIBXML_SAX1_ENABLED else if ((!strcmp(argv[i], "-sax1")) || (!strcmp(argv[i], "--sax1"))) { - sax1++; + sax1++; + options |= XML_PARSE_SAX1; } #endif /* LIBXML_SAX1_ENABLED */ else if ((!strcmp(argv[i], "-sax")) || (!strcmp(argv[i], "--sax"))) { - sax++; + sax++; } else if ((!strcmp(argv[i], "-chkregister")) || (!strcmp(argv[i], "--chkregister"))) { - chkregister++; + chkregister++; #ifdef LIBXML_SCHEMAS_ENABLED } else if ((!strcmp(argv[i], "-relaxng")) || (!strcmp(argv[i], "--relaxng"))) { |