From 559008cadf0bc3457696e145b0abe764132fe92d Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Sun, 22 Apr 2007 00:13:46 +0100 Subject: Don't drop elements with missing close tags. --- src/xine-utils/xmlparser.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/xine-utils/xmlparser.c b/src/xine-utils/xmlparser.c index 82e1f0ecd..7140bea5d 100644 --- a/src/xine-utils/xmlparser.c +++ b/src/xine-utils/xmlparser.c @@ -256,11 +256,7 @@ static int xml_parser_get_node_internal (xml_node_t *current_node, char *root_na lprintf("info: rec %d new subtree %s\n", rec, node_name); root_names[rec + 1] = node_name; parse_res = xml_parser_get_node_internal(subtree, root_names, rec + 1, relaxed); - if (parse_res < -1) { - /* badly-formed XML (missing close tag) */ - return parse_res + 1 + (parse_res == -2); - } - if (parse_res != 0) { + if (parse_res == -1 || parse_res > 0) { return parse_res; } if (current_subtree == NULL) { @@ -270,6 +266,10 @@ static int xml_parser_get_node_internal (xml_node_t *current_node, char *root_na current_subtree->next = subtree; current_subtree = subtree; } + if (parse_res < -1) { + /* badly-formed XML (missing close tag) */ + return parse_res + 1 + (parse_res == -2); + } state = STATE_IDLE; break; case (T_M_STOP_2): -- cgit v1.2.3