summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Veillard <veillard@src.gnome.org>2006-02-19 16:55:55 +0000
committerDaniel Veillard <veillard@src.gnome.org>2006-02-19 16:55:55 +0000
commitea71f5dd0bdf3ed066c275c289ae0081bada0f8a (patch)
tree7ba0b7ebaa3b6a433c5d81245703145d2cbcee45
parent7933800926b9ee9b1352f043e6bc5539024354e6 (diff)
downloadlibxml2-ea71f5dd0bdf3ed066c275c289ae0081bada0f8a.tar.gz
fix an error report when using --path and --valid closes bug #331290
* xmllint.c: fix an error report when using --path and --valid closes bug #331290 Daniel
-rw-r--r--ChangeLog5
-rw-r--r--xmllint.c9
2 files changed, 14 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index a98d4d0e..c930b789 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun Feb 19 17:54:04 CET 2006 Daniel Veillard <daniel@veillard.com>
+
+ * xmllint.c: fix an error report when using --path and --valid
+ closes bug #331290
+
Sun Feb 19 16:20:43 CET 2006 Daniel Veillard <daniel@veillard.com>
* relaxng.c: trying to fix #331062, this is again a problem
diff --git a/xmllint.c b/xmllint.c
index e8d3b4d9..06690e48 100644
--- a/xmllint.c
+++ b/xmllint.c
@@ -242,6 +242,7 @@ xmllintExternalEntityLoader(const char *URL, const char *ID,
xmlParserCtxtPtr ctxt) {
xmlParserInputPtr ret;
warningSAXFunc warning = NULL;
+ errorSAXFunc err = NULL;
int i;
const char *lastsegment = URL;
@@ -257,7 +258,9 @@ xmllintExternalEntityLoader(const char *URL, const char *ID,
if ((ctxt != NULL) && (ctxt->sax != NULL)) {
warning = ctxt->sax->warning;
+ err = ctxt->sax->error;
ctxt->sax->warning = NULL;
+ ctxt->sax->error = NULL;
}
if (defaultEntityLoader != NULL) {
@@ -265,6 +268,8 @@ xmllintExternalEntityLoader(const char *URL, const char *ID,
if (ret != NULL) {
if (warning != NULL)
ctxt->sax->warning = warning;
+ if (err != NULL)
+ ctxt->sax->error = err;
if (load_trace) {
fprintf \
(stderr,
@@ -286,6 +291,8 @@ xmllintExternalEntityLoader(const char *URL, const char *ID,
if (ret != NULL) {
if (warning != NULL)
ctxt->sax->warning = warning;
+ if (err != NULL)
+ ctxt->sax->error = err;
if (load_trace) {
fprintf \
(stderr,
@@ -299,6 +306,8 @@ xmllintExternalEntityLoader(const char *URL, const char *ID,
xmlFree(newURL);
}
}
+ if (err != NULL)
+ ctxt->sax->error = err;
if (warning != NULL) {
ctxt->sax->warning = warning;
if (URL != NULL)