diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2008-07-08 09:41:21 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2008-07-08 09:41:21 +0000 |
commit | 633a85721c4c5246935e713361ca2d28afb0a90e (patch) | |
tree | 503024218f2fa4cd4fae1ade5a6d3d7e4aadb9e7 /src/treebuilder/in_body.c | |
parent | 97ad6168bdf5679d0a3ee2bf9da0048c131c3eb6 (diff) | |
download | libhubbub-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.c | 10 |
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: |