libpurple/protocols/jabber/parser.c

changeset 27193
3d3ae4659d4e
parent 26861
485ac7161f2b
parent 26863
d2a2efe19a85
child 27361
62f1aa8045bb
equal deleted inserted replaced
26861:485ac7161f2b 27193:3d3ae4659d4e
224 * parser, so do a ParseChunk right afterwards to force it. */ 224 * parser, so do a ParseChunk right afterwards to force it. */
225 js->context = xmlCreatePushParserCtxt(&jabber_parser_libxml, js, buf, len, NULL); 225 js->context = xmlCreatePushParserCtxt(&jabber_parser_libxml, js, buf, len, NULL);
226 xmlParseChunk(js->context, "", 0, 0); 226 xmlParseChunk(js->context, "", 0, 0);
227 } else if ((ret = xmlParseChunk(js->context, buf, len, 0)) != XML_ERR_OK) { 227 } else if ((ret = xmlParseChunk(js->context, buf, len, 0)) != XML_ERR_OK) {
228 xmlError *err = xmlCtxtGetLastError(js->context); 228 xmlError *err = xmlCtxtGetLastError(js->context);
229 229 /*
230 switch (err->level) { 230 * libxml2 uses a global setting to determine whether or not to store
231 * warnings. Other libraries may set this, which causes err to be
232 * NULL. See #8136 for details.
233 */
234 xmlErrorLevel level = XML_ERR_WARNING;
235
236 if (err)
237 level = err->level;
238
239 switch (level) {
231 case XML_ERR_NONE: 240 case XML_ERR_NONE:
232 purple_debug_info("jabber", "xmlParseChunk returned info %i\n", ret); 241 purple_debug_info("jabber", "xmlParseChunk returned info %i\n", ret);
233 break; 242 break;
234 case XML_ERR_WARNING: 243 case XML_ERR_WARNING:
235 purple_debug_warning("jabber", "xmlParseChunk returned warning %i\n", ret); 244 purple_debug_warning("jabber", "xmlParseChunk returned warning %i\n", ret);

mercurial