libpurple/xmlnode.c

changeset 26862
74e5bfbe3784
parent 26399
8917621d00e2
child 27345
37d67bee50c2
equal deleted inserted replaced
26860:9dbb983c97d6 26862:74e5bfbe3784
643 va_start(args, msg); 643 va_start(args, msg);
644 vsnprintf(errmsg, sizeof(errmsg), msg, args); 644 vsnprintf(errmsg, sizeof(errmsg), msg, args);
645 va_end(args); 645 va_end(args);
646 646
647 purple_debug_error("xmlnode", "Error parsing xml file: %s", errmsg); 647 purple_debug_error("xmlnode", "Error parsing xml file: %s", errmsg);
648 }
649
650 static void
651 xmlnode_parser_structural_error_libxml(void *user_data, xmlErrorPtr error)
652 {
653 struct _xmlnode_parser_data *xpd = user_data;
654
655 if (error && (error->level == XML_ERR_ERROR ||
656 error->level == XML_ERR_FATAL)) {
657 xpd->error = TRUE;
658 purple_debug_error("xmlnode", "XML parser error for xmlnode %p: "
659 "Domain %i, code %i, level %i: %s",
660 user_data, error->domain, error->code, error->level,
661 error->message ? error->message : "(null)\n");
662 } else if (error)
663 purple_debug_warning("xmlnode", "XML parser error for xmlnode %p: "
664 "Domain %i, code %i, level %i: %s",
665 user_data, error->domain, error->code, error->level,
666 error->message ? error->message : "(null)\n");
667 else
668 purple_debug_warning("xmlnode", "XML parser error for xmlnode %p\n",
669 user_data);
648 } 670 }
649 671
650 static xmlSAXHandler xmlnode_parser_libxml = { 672 static xmlSAXHandler xmlnode_parser_libxml = {
651 NULL, /* internalSubset */ 673 NULL, /* internalSubset */
652 NULL, /* isStandalone */ 674 NULL, /* isStandalone */
677 NULL, /* externalSubset */ 699 NULL, /* externalSubset */
678 XML_SAX2_MAGIC, /* initialized */ 700 XML_SAX2_MAGIC, /* initialized */
679 NULL, /* _private */ 701 NULL, /* _private */
680 xmlnode_parser_element_start_libxml, /* startElementNs */ 702 xmlnode_parser_element_start_libxml, /* startElementNs */
681 xmlnode_parser_element_end_libxml, /* endElementNs */ 703 xmlnode_parser_element_end_libxml, /* endElementNs */
682 NULL, /* serror */ 704 xmlnode_parser_structural_error_libxml, /* serror */
683 }; 705 };
684 706
685 xmlnode * 707 xmlnode *
686 xmlnode_from_str(const char *str, gssize size) 708 xmlnode_from_str(const char *str, gssize size)
687 { 709 {

mercurial