From 633a85721c4c5246935e713361ca2d28afb0a90e Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Tue, 8 Jul 2008 09:41:21 +0000 Subject: Fix handling of non-whitespace characters in table. Make process_tag_in_body handle character tokens, rather than asserting. svn path=/trunk/hubbub/; revision=4531 --- src/treebuilder/in_body.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/treebuilder/in_body.c') diff --git a/src/treebuilder/in_body.c b/src/treebuilder/in_body.c index 64c6b5e..e61a581 100644 --- a/src/treebuilder/in_body.c +++ b/src/treebuilder/in_body.c @@ -214,15 +214,23 @@ bool process_tag_in_body(hubbub_treebuilder *treebuilder, { bool reprocess = false; + if (treebuilder->context.strip_leading_lr && + token->type != HUBBUB_TOKEN_CHARACTER) { + /* Reset the LR stripping flag */ + treebuilder->context.strip_leading_lr = false; + } + switch (token->type) { + case HUBBUB_TOKEN_CHARACTER: + process_character(treebuilder, token); + break; case HUBBUB_TOKEN_START_TAG: reprocess = process_start_tag(treebuilder, token); break; case HUBBUB_TOKEN_END_TAG: reprocess = process_end_tag(treebuilder, token); break; - case HUBBUB_TOKEN_CHARACTER: case HUBBUB_TOKEN_COMMENT: case HUBBUB_TOKEN_DOCTYPE: case HUBBUB_TOKEN_EOF: -- cgit v1.2.3