diff options
author | Andrew Sidwell <andy@entai.co.uk> | 2008-08-10 15:49:52 +0000 |
---|---|---|
committer | Andrew Sidwell <andy@entai.co.uk> | 2008-08-10 15:49:52 +0000 |
commit | 086bd1eef17d63b36a47ac954b1d90fff3d4115d (patch) | |
tree | 07a9ec2dbe0f583eca788a9da6e559c58a664ef0 /src/treebuilder/before_html.c | |
parent | c8aaecba0272665ba64380ec62d9fc6eba90c960 (diff) | |
download | libhubbub-086bd1eef17d63b36a47ac954b1d90fff3d4115d.tar.gz libhubbub-086bd1eef17d63b36a47ac954b1d90fff3d4115d.tar.bz2 |
Switch to using hubbub_error for reprocessing state from just a bool, to allow for encoding change info to be returned more easily.
svn path=/trunk/hubbub/; revision=4989
Diffstat (limited to 'src/treebuilder/before_html.c')
-rw-r--r-- | src/treebuilder/before_html.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/treebuilder/before_html.c b/src/treebuilder/before_html.c index 70eebde..7aaf3ae 100644 --- a/src/treebuilder/before_html.c +++ b/src/treebuilder/before_html.c @@ -21,10 +21,10 @@ * \param token The token to handle * \return True to reprocess token, false otherwise */ -bool handle_before_html(hubbub_treebuilder *treebuilder, +hubbub_error handle_before_html(hubbub_treebuilder *treebuilder, const hubbub_token *token) { - bool reprocess = false; + hubbub_error err = HUBBUB_OK; bool handled = false; switch (token->type) { @@ -36,7 +36,7 @@ bool handle_before_html(hubbub_treebuilder *treebuilder, treebuilder->context.document); break; case HUBBUB_TOKEN_CHARACTER: - reprocess = process_characters_expect_whitespace(treebuilder, + err = process_characters_expect_whitespace(treebuilder, token, false); break; case HUBBUB_TOKEN_START_TAG: @@ -47,18 +47,18 @@ bool handle_before_html(hubbub_treebuilder *treebuilder, if (type == HTML) { handled = true; } else { - reprocess = true; + err = HUBBUB_REPROCESS; } } break; case HUBBUB_TOKEN_END_TAG: case HUBBUB_TOKEN_EOF: - reprocess = true; + err = HUBBUB_REPROCESS; break; } - if (handled || reprocess) { + if (handled || err == HUBBUB_REPROCESS) { int success; void *html, *appended; @@ -67,7 +67,7 @@ bool handle_before_html(hubbub_treebuilder *treebuilder, * no current_node to insert into at this point so * we get to do it manually. */ - if (reprocess) { + if (err == HUBBUB_REPROCESS) { /* Need to manufacture html element */ hubbub_tag tag; @@ -121,6 +121,6 @@ bool handle_before_html(hubbub_treebuilder *treebuilder, treebuilder->context.mode = BEFORE_HEAD; } - return reprocess; + return err; } |