mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-10-26 00:37:43 +03:00
parser: Fix old SAX1 parser with custom callbacks
For some reason, xmlCtxtUseOptionsInternal set the start and end element SAX handlers to the internal DOM builder functions when XML_PARSE_SAX1 was specified. This means that custom SAX handlers could never work with that flag because these functions would receive the wrong user data argument and crash immediately. Fixes #535.
This commit is contained in:
2
parser.c
2
parser.c
@@ -14479,8 +14479,6 @@ xmlCtxtUseOptionsInternal(xmlParserCtxtPtr ctxt, int options, const char *encodi
|
|||||||
}
|
}
|
||||||
#ifdef LIBXML_SAX1_ENABLED
|
#ifdef LIBXML_SAX1_ENABLED
|
||||||
if (options & XML_PARSE_SAX1) {
|
if (options & XML_PARSE_SAX1) {
|
||||||
ctxt->sax->startElement = xmlSAX2StartElement;
|
|
||||||
ctxt->sax->endElement = xmlSAX2EndElement;
|
|
||||||
ctxt->sax->startElementNs = NULL;
|
ctxt->sax->startElementNs = NULL;
|
||||||
ctxt->sax->endElementNs = NULL;
|
ctxt->sax->endElementNs = NULL;
|
||||||
ctxt->sax->initialized = 1;
|
ctxt->sax->initialized = 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user