diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2008-07-07 13:03:24 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2008-07-07 13:03:24 +0000 |
commit | 7ba8d4327b849aee00a71bfefa17f5fcf5bb1eaa (patch) | |
tree | e875ba2c1ecdeacca4fb2964def68f8453e46211 /src/treebuilder/in_table_body.c | |
parent | c5aab778cca9b8c579f4241ed76c5dfeac4c8553 (diff) | |
download | libhubbub-7ba8d4327b849aee00a71bfefa17f5fcf5bb1eaa.tar.gz libhubbub-7ba8d4327b849aee00a71bfefa17f5fcf5bb1eaa.tar.bz2 |
A bunch of fixes to table handling
svn path=/trunk/hubbub/; revision=4525
Diffstat (limited to 'src/treebuilder/in_table_body.c')
-rw-r--r-- | src/treebuilder/in_table_body.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/treebuilder/in_table_body.c b/src/treebuilder/in_table_body.c index 997c4c1..94d4fa2 100644 --- a/src/treebuilder/in_table_body.c +++ b/src/treebuilder/in_table_body.c @@ -50,6 +50,7 @@ static void table_clear_stack(hubbub_treebuilder *treebuilder) * Handle the case common to some start tag and the table end tag cases. * * \param treebuilder The treebuilder instance + * \return Whether to reprocess the current token */ static bool table_sub_start_or_table_end(hubbub_treebuilder *treebuilder) { @@ -121,6 +122,7 @@ bool handle_in_table_body(hubbub_treebuilder *treebuilder, tag.n_attributes = 0; tag.attributes = NULL; + table_clear_stack(treebuilder); insert_element(treebuilder, &tag); treebuilder->context.mode = IN_ROW; @@ -128,7 +130,7 @@ bool handle_in_table_body(hubbub_treebuilder *treebuilder, } else if (type == CAPTION || type == COL || type == COLGROUP || type == TBODY || type == TFOOT || type == THEAD) { - table_sub_start_or_table_end(treebuilder); + reprocess = table_sub_start_or_table_end(treebuilder); } else { reprocess = true; } @@ -161,7 +163,7 @@ bool handle_in_table_body(hubbub_treebuilder *treebuilder, treebuilder->context.mode = IN_TABLE; } } else if (type == TABLE) { - table_sub_start_or_table_end(treebuilder); + reprocess = 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) { |