1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-10-21 14:53:44 +03:00

fixed to assure user data param is set correctly when user structured

* error.c: fixed to assure user data param is set correctly
  when user structured error handler is called (bug 144823)
This commit is contained in:
William M. Brack
2004-07-25 21:07:29 +00:00
parent 1af55583ed
commit cd3628b7dd
2 changed files with 16 additions and 2 deletions

13
error.c
View File

@@ -457,8 +457,17 @@ __xmlRaiseError(xmlStructuredErrorFunc schannel,
(ctxt->sax->initialized == XML_SAX2_MAGIC))
schannel = ctxt->sax->serror;
}
if (schannel == NULL)
/*
* Check if structured error handler set
*/
if (schannel == NULL) {
schannel = xmlStructuredError;
/*
* if user has defined handler, change data ptr to user's choice
*/
if (schannel != NULL)
data = xmlGenericErrorContext;
}
if ((domain == XML_FROM_VALID) &&
((channel == xmlParserValidityError) ||
(channel == xmlParserValidityWarning))) {
@@ -541,7 +550,7 @@ __xmlRaiseError(xmlStructuredErrorFunc schannel,
xmlCopyError(to,&xmlLastError);
/*
* Find the callback channel.
* Find the callback channel if channel param is NULL
*/
if ((ctxt != NULL) && (channel == NULL) && (xmlStructuredError == NULL)) {
if (level == XML_ERR_WARNING)