summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HTMLparser.c1
-rw-r--r--debugXML.c2
-rw-r--r--parser.c1
-rw-r--r--valid.c20
-rw-r--r--xmllint.c2
5 files changed, 8 insertions, 18 deletions
diff --git a/HTMLparser.c b/HTMLparser.c
index 35859e32..b716f63c 100644
--- a/HTMLparser.c
+++ b/HTMLparser.c
@@ -6769,6 +6769,7 @@ htmlCtxtReset(htmlParserCtxtPtr ctxt)
ctxt->disableSAX = 0;
ctxt->valid = 1;
ctxt->vctxt.userData = ctxt;
+ ctxt->vctxt.flags = XML_VCTXT_USE_PCTXT;
ctxt->vctxt.error = xmlParserValidityError;
ctxt->vctxt.warning = xmlParserValidityWarning;
ctxt->record_info = 0;
diff --git a/debugXML.c b/debugXML.c
index 5a8edeff..3bb19304 100644
--- a/debugXML.c
+++ b/debugXML.c
@@ -2635,7 +2635,7 @@ xmlShellValidate(xmlShellCtxtPtr ctxt, char *dtd,
int res = -1;
if ((ctxt == NULL) || (ctxt->doc == NULL)) return(-1);
- vctxt.userData = NULL;
+ memset(&vctxt, 0, sizeof(vctxt));
vctxt.error = xmlGenericError;
vctxt.warning = xmlGenericError;
diff --git a/parser.c b/parser.c
index 06664e7c..9b98aeed 100644
--- a/parser.c
+++ b/parser.c
@@ -12907,6 +12907,7 @@ xmlParseExternalEntityPrivate(xmlDocPtr doc, xmlParserCtxtPtr oldctxt,
ctxt->vctxt.error = oldctxt->vctxt.error;
ctxt->vctxt.warning = oldctxt->vctxt.warning;
ctxt->vctxt.userData = oldctxt->vctxt.userData;
+ ctxt->vctxt.flags = oldctxt->vctxt.flags;
}
ctxt->external = oldctxt->external;
if (ctxt->dict) xmlDictFree(ctxt->dict);
diff --git a/valid.c b/valid.c
index 182ffed1..8a645ffa 100644
--- a/valid.c
+++ b/valid.c
@@ -67,9 +67,7 @@ xmlVErrMemory(xmlValidCtxtPtr ctxt, const char *extra)
/* Look up flag to detect if it is part of a parsing
context */
if (ctxt->flags & XML_VCTXT_USE_PCTXT) {
- long delta = (char *) ctxt - (char *) ctxt->userData;
- if ((delta > 0) && (delta < 250))
- pctxt = ctxt->userData;
+ pctxt = ctxt->userData;
}
}
if (extra)
@@ -106,9 +104,7 @@ xmlErrValid(xmlValidCtxtPtr ctxt, xmlParserErrors error,
/* Look up flag to detect if it is part of a parsing
context */
if (ctxt->flags & XML_VCTXT_USE_PCTXT) {
- long delta = (char *) ctxt - (char *) ctxt->userData;
- if ((delta > 0) && (delta < 250))
- pctxt = ctxt->userData;
+ pctxt = ctxt->userData;
}
}
if (extra)
@@ -152,9 +148,7 @@ xmlErrValidNode(xmlValidCtxtPtr ctxt,
/* Look up flag to detect if it is part of a parsing
context */
if (ctxt->flags & XML_VCTXT_USE_PCTXT) {
- long delta = (char *) ctxt - (char *) ctxt->userData;
- if ((delta > 0) && (delta < 250))
- pctxt = ctxt->userData;
+ pctxt = ctxt->userData;
}
}
__xmlRaiseError(schannel, channel, data, pctxt, node, XML_FROM_VALID, error,
@@ -194,9 +188,7 @@ xmlErrValidNodeNr(xmlValidCtxtPtr ctxt,
/* Look up flag to detect if it is part of a parsing
context */
if (ctxt->flags & XML_VCTXT_USE_PCTXT) {
- long delta = (char *) ctxt - (char *) ctxt->userData;
- if ((delta > 0) && (delta < 250))
- pctxt = ctxt->userData;
+ pctxt = ctxt->userData;
}
}
__xmlRaiseError(schannel, channel, data, pctxt, node, XML_FROM_VALID, error,
@@ -234,9 +226,7 @@ xmlErrValidWarning(xmlValidCtxtPtr ctxt,
/* Look up flag to detect if it is part of a parsing
context */
if (ctxt->flags & XML_VCTXT_USE_PCTXT) {
- long delta = (char *) ctxt - (char *) ctxt->userData;
- if ((delta > 0) && (delta < 250))
- pctxt = ctxt->userData;
+ pctxt = ctxt->userData;
}
}
__xmlRaiseError(schannel, channel, data, pctxt, node, XML_FROM_VALID, error,
diff --git a/xmllint.c b/xmllint.c
index 221f4de0..26b3eb10 100644
--- a/xmllint.c
+++ b/xmllint.c
@@ -2711,7 +2711,6 @@ static void parseAndPrintFile(char *filename, xmlParserCtxtPtr rectxt) {
xmlFreeDtd(dtd);
return;
}
- cvp->userData = NULL;
cvp->error = xmlGenericError;
cvp->warning = xmlGenericError;
@@ -2749,7 +2748,6 @@ static void parseAndPrintFile(char *filename, xmlParserCtxtPtr rectxt) {
if ((timing) && (!repeat)) {
startTimer();
}
- cvp->userData = NULL;
cvp->error = xmlGenericError;
cvp->warning = xmlGenericError;
if (!xmlValidateDocument(cvp, doc)) {