Mercurial > pidgin
changeset 23424:1b3aea146613
Added a structured error handler callback to the xmlSAXHandler struct.
This callback is used preferentially over the warning/error/fatal_error
callbacks (whcih we don't implement, anyways) for 'modules which support the
new error reporting mechanism'. This should help us detect parsing errors.
author | Evan Schoenberg <evan.s@dreskin.net> |
---|---|
date | Fri, 04 Jul 2008 15:41:26 +0000 |
parents | a2f63b74fe31 |
children | 0eca6c183d60 |
files | libpurple/protocols/jabber/parser.c |
diffstat | 1 files changed, 13 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/libpurple/protocols/jabber/parser.c Thu Jul 03 19:53:31 2008 +0000 +++ b/libpurple/protocols/jabber/parser.c Fri Jul 04 15:41:26 2008 +0000 @@ -132,6 +132,18 @@ xmlnode_insert_data(js->current, (const char*) text, text_len); } +static void +jabber_parser_structured_error_handler(void *user_data, xmlErrorPtr error) +{ + JabberStream *js = user_data; + + purple_debug_error("jabber", "XML parser error for JabberStream %p: " + "Domain %i, code %i, level %i: %s\n", + js, + error->domain, error->code, error->level, + (error->message ? error->message : "(null)")); +} + static xmlSAXHandler jabber_parser_libxml = { NULL, /*internalSubset*/ NULL, /*isStandalone*/ @@ -164,7 +176,7 @@ NULL, /*_private*/ jabber_parser_element_start_libxml, /*startElementNs*/ jabber_parser_element_end_libxml, /*endElementNs*/ - NULL /*serror*/ + jabber_parser_structured_error_handler /*serror*/ }; void