Mercurial > pidgin
diff libpurple/protocols/jabber/parser.c @ 26987:cd78ea46e9bd
merge of '7c614b09b72037ebd86c03fbbeac7794a155547b'
and 'af18689b86389686230fc6ce83cbba52690ce0cb'
author | Paul Aurich <paul@darkrain42.org> |
---|---|
date | Sat, 30 May 2009 00:32:50 +0000 |
parents | 42bff519973b a25d09019b9b |
children | 01f1929d0936 |
line wrap: on
line diff
--- a/libpurple/protocols/jabber/parser.c Sat May 30 00:21:37 2009 +0000 +++ b/libpurple/protocols/jabber/parser.c Sat May 30 00:32:50 2009 +0000 @@ -226,8 +226,17 @@ xmlParseChunk(js->context, "", 0, 0); } else if ((ret = xmlParseChunk(js->context, buf, len, 0)) != XML_ERR_OK) { xmlError *err = xmlCtxtGetLastError(js->context); + /* + * libxml2 uses a global setting to determine whether or not to store + * warnings. Other libraries may set this, which causes err to be + * NULL. See #8136 for details. + */ + xmlErrorLevel level = XML_ERR_WARNING; - switch (err->level) { + if (err) + level = err->level; + + switch (level) { case XML_ERR_NONE: purple_debug_info("jabber", "xmlParseChunk returned info %i\n", ret); break;