summaryrefslogtreecommitdiff
path: root/src/treebuilder/in_body.c
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2008-07-08 09:41:21 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2008-07-08 09:41:21 +0000
commit633a85721c4c5246935e713361ca2d28afb0a90e (patch)
tree503024218f2fa4cd4fae1ade5a6d3d7e4aadb9e7 /src/treebuilder/in_body.c
parent97ad6168bdf5679d0a3ee2bf9da0048c131c3eb6 (diff)
downloadlibhubbub-633a85721c4c5246935e713361ca2d28afb0a90e.tar.gz
libhubbub-633a85721c4c5246935e713361ca2d28afb0a90e.tar.bz2
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
Diffstat (limited to 'src/treebuilder/in_body.c')
-rw-r--r--src/treebuilder/in_body.c10
1 files changed, 9 insertions, 1 deletions
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: