summaryrefslogtreecommitdiff
path: root/src/treebuilder/in_table_body.c
diff options
context:
space:
mode:
authorAndrew Sidwell <andy@entai.co.uk>2008-08-10 15:49:52 +0000
committerAndrew Sidwell <andy@entai.co.uk>2008-08-10 15:49:52 +0000
commit086bd1eef17d63b36a47ac954b1d90fff3d4115d (patch)
tree07a9ec2dbe0f583eca788a9da6e559c58a664ef0 /src/treebuilder/in_table_body.c
parentc8aaecba0272665ba64380ec62d9fc6eba90c960 (diff)
downloadlibhubbub-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/in_table_body.c')
-rw-r--r--src/treebuilder/in_table_body.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/treebuilder/in_table_body.c b/src/treebuilder/in_table_body.c
index 0efab9c..24fea5c 100644
--- a/src/treebuilder/in_table_body.c
+++ b/src/treebuilder/in_table_body.c
@@ -50,7 +50,7 @@ static void table_clear_stack(hubbub_treebuilder *treebuilder)
* \param treebuilder The treebuilder instance
* \return Whether to reprocess the current token
*/
-static bool table_sub_start_or_table_end(hubbub_treebuilder *treebuilder)
+static hubbub_error table_sub_start_or_table_end(hubbub_treebuilder *treebuilder)
{
if (element_in_scope(treebuilder, TBODY, true) ||
element_in_scope(treebuilder, THEAD, true) ||
@@ -74,12 +74,12 @@ static bool table_sub_start_or_table_end(hubbub_treebuilder *treebuilder)
treebuilder->context.mode = IN_TABLE;
- return true;
+ return HUBBUB_REPROCESS;
} else {
/** \todo parse error */
}
- return false;
+ return HUBBUB_OK;
}
@@ -90,10 +90,10 @@ static bool table_sub_start_or_table_end(hubbub_treebuilder *treebuilder)
* \param token The token to process
* \return True to reprocess the token, false otherwise
*/
-bool handle_in_table_body(hubbub_treebuilder *treebuilder,
+hubbub_error handle_in_table_body(hubbub_treebuilder *treebuilder,
const hubbub_token *token)
{
- bool reprocess = false;
+ hubbub_error err = HUBBUB_OK;
switch (token->type) {
case HUBBUB_TOKEN_START_TAG:
@@ -122,13 +122,13 @@ bool handle_in_table_body(hubbub_treebuilder *treebuilder,
insert_element(treebuilder, &tag);
treebuilder->context.mode = IN_ROW;
- reprocess = true;
+ err = HUBBUB_REPROCESS;
} else if (type == CAPTION || type == COL ||
type == COLGROUP || type == TBODY ||
type == TFOOT || type == THEAD) {
- reprocess = table_sub_start_or_table_end(treebuilder);
+ err = table_sub_start_or_table_end(treebuilder);
} else {
- reprocess = handle_in_table(treebuilder, token);
+ err = handle_in_table(treebuilder, token);
}
}
break;
@@ -159,14 +159,14 @@ bool handle_in_table_body(hubbub_treebuilder *treebuilder,
treebuilder->context.mode = IN_TABLE;
}
} else if (type == TABLE) {
- reprocess = table_sub_start_or_table_end(treebuilder);
+ err = table_sub_start_or_table_end(treebuilder);
} else if (type == BODY || type == CAPTION || type == COL ||
type == COLGROUP || type == HTML ||
type == TD || type == TH || type == TR) {
/** \todo parse error */
/* Ignore the token */
} else {
- reprocess = handle_in_table(treebuilder, token);
+ err = handle_in_table(treebuilder, token);
}
}
break;
@@ -174,10 +174,10 @@ bool handle_in_table_body(hubbub_treebuilder *treebuilder,
case HUBBUB_TOKEN_COMMENT:
case HUBBUB_TOKEN_DOCTYPE:
case HUBBUB_TOKEN_EOF:
- reprocess = handle_in_table(treebuilder, token);
+ err = handle_in_table(treebuilder, token);
break;
}
- return reprocess;
+ return err;
}