static void _end_element_handler_ns(void *user, const xmlChar *name, const xmlChar * prefix, const xmlChar *URI) { xmlChar *qualified_name; XML_Parser parser = (XML_Parser) user; if (parser->h_end_element == NULL) { if (parser->h_default) { char *end_element; int end_element_len; if (prefix) { end_element_len = spprintf(&end_element, 0, "</%s:%s>", (char *) prefix, (char *)name); } else { end_element_len = spprintf(&end_element, 0, "</%s>", (char *)name); } parser->h_default(parser->user, (const XML_Char *) end_element, end_element_len); efree(end_element); } return; } _qualify_namespace(parser, name, URI, &qualified_name); parser->h_end_element(parser->user, (const XML_Char *) qualified_name); xmlFree(qualified_name); }
static void _end_element_handler_ns(void *user, const xmlChar *name, const xmlChar * prefix, const xmlChar *URI) { xmlChar *qualified_name; XML_Parser parser = (XML_Parser) user; if (parser->h_end_element == NULL) { return; } _qualify_namespace(parser, name, URI, &qualified_name); parser->h_end_element(parser->user, (const XML_Char *) qualified_name); xmlFree(qualified_name); }
static void _end_element_handler(void *user, const xmlChar *name) { xmlChar *qualified_name; XML_Parser parser = (XML_Parser) user; if (parser->h_end_element == NULL) { if (parser->h_default) { char *end_element; spprintf(&end_element, 0, "</%s>", (char *)name); parser->h_default(parser->user, (const XML_Char *) end_element, strlen(end_element)); efree(end_element); } return; } qualified_name = xmlStrdup(name); parser->h_end_element(parser->user, (const XML_Char *) qualified_name); xmlFree(qualified_name); }