From 9e7b0d4fa31da8d1dbc0c468928312212439afc1 Mon Sep 17 00:00:00 2001 From: Jonas Fonseca Date: Sat, 28 Jan 2006 01:09:05 +0100 Subject: [PATCH] Remove assertion logic from parse_sgml_attributes() They are getting out of hand and making it hard to use the function in 'unusual' situations (like when resuming parsing inside elements). --- src/dom/sgml/parser.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/dom/sgml/parser.c b/src/dom/sgml/parser.c index 03f3f0c1..598a4433 100644 --- a/src/dom/sgml/parser.c +++ b/src/dom/sgml/parser.c @@ -170,13 +170,6 @@ parse_sgml_attributes(struct dom_stack *stack, struct dom_scanner *scanner) { struct dom_scanner_token name; - assert(dom_scanner_has_tokens(scanner) - && (get_dom_scanner_token(scanner)->type == SGML_TOKEN_ELEMENT_BEGIN - || (get_dom_stack_top(stack)->node->type == DOM_NODE_PROCESSING_INSTRUCTION))); - - if (get_dom_scanner_token(scanner)->type == SGML_TOKEN_ELEMENT_BEGIN) - skip_dom_scanner_token(scanner); - while (dom_scanner_has_tokens(scanner)) { struct dom_scanner_token *token = get_dom_scanner_token(scanner); @@ -265,6 +258,8 @@ parse_sgml_plain(struct dom_stack *stack, struct dom_scanner *scanner) if (token->type == SGML_TOKEN_ELEMENT_BEGIN) { enum sgml_parser_code code; + skip_dom_scanner_token(scanner); + code = parse_sgml_attributes(stack, scanner); if (code != SGML_PARSER_CODE_OK) return code;