parser: Pass global object to sax->setDocumentLocator
Revert part of commit c011e760.
Fixes #732.
diff --git a/HTMLparser.c b/HTMLparser.c
index 4add634..ac14301 100644
--- a/HTMLparser.c
+++ b/HTMLparser.c
@@ -4753,12 +4753,9 @@
if ((ctxt == NULL) || (ctxt->input == NULL))
return(-1);
- /*
- * Document locator is unused. Only for backward compatibility.
- */
if ((ctxt->sax) && (ctxt->sax->setDocumentLocator)) {
- xmlSAXLocator copy = xmlDefaultSAXLocator;
- ctxt->sax->setDocumentLocator(ctxt->userData, ©);
+ ctxt->sax->setDocumentLocator(ctxt->userData,
+ (xmlSAXLocator *) &xmlDefaultSAXLocator);
}
xmlDetectEncoding(ctxt);
@@ -5297,8 +5294,8 @@
avail = in->end - in->cur;
}
if ((ctxt->sax) && (ctxt->sax->setDocumentLocator)) {
- xmlSAXLocator copy = xmlDefaultSAXLocator;
- ctxt->sax->setDocumentLocator(ctxt->userData, ©);
+ ctxt->sax->setDocumentLocator(ctxt->userData,
+ (xmlSAXLocator *) &xmlDefaultSAXLocator);
}
if ((ctxt->sax) && (ctxt->sax->startDocument) &&
(!ctxt->disableSAX))
diff --git a/parser.c b/parser.c
index f1f002b..54f6683 100644
--- a/parser.c
+++ b/parser.c
@@ -10496,12 +10496,9 @@
*/
xmlCtxtInitializeLate(ctxt);
- /*
- * Document locator is unused. Only for backward compatibility.
- */
if ((ctxt->sax) && (ctxt->sax->setDocumentLocator)) {
- xmlSAXLocator copy = xmlDefaultSAXLocator;
- ctxt->sax->setDocumentLocator(ctxt->userData, ©);
+ ctxt->sax->setDocumentLocator(ctxt->userData,
+ (xmlSAXLocator *) &xmlDefaultSAXLocator);
}
xmlDetectEncoding(ctxt);
@@ -10626,12 +10623,9 @@
xmlCtxtInitializeLate(ctxt);
- /*
- * Document locator is unused. Only for backward compatibility.
- */
if ((ctxt->sax) && (ctxt->sax->setDocumentLocator)) {
- xmlSAXLocator copy = xmlDefaultSAXLocator;
- ctxt->sax->setDocumentLocator(ctxt->userData, ©);
+ ctxt->sax->setDocumentLocator(ctxt->userData,
+ (xmlSAXLocator *) &xmlDefaultSAXLocator);
}
xmlDetectEncoding(ctxt);
@@ -11095,8 +11089,8 @@
}
}
if ((ctxt->sax) && (ctxt->sax->setDocumentLocator)) {
- xmlSAXLocator copy = xmlDefaultSAXLocator;
- ctxt->sax->setDocumentLocator(ctxt->userData, ©);
+ ctxt->sax->setDocumentLocator(ctxt->userData,
+ (xmlSAXLocator *) &xmlDefaultSAXLocator);
}
if ((ctxt->sax) && (ctxt->sax->startDocument) &&
(!ctxt->disableSAX))