diff options
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: |