summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Sidwell <andy@entai.co.uk>2008-06-24 23:41:42 +0000
committerAndrew Sidwell <andy@entai.co.uk>2008-06-24 23:41:42 +0000
commit6c58b992cb21ebbbef2d3f5bcae19141b8af3cab (patch)
treeec9150155c8c5206f85a6e7ad311c0a6fe0c1331
parent2364037c148d7b3bbed7690e37c0b5ae2df064a6 (diff)
downloadlibhubbub-6c58b992cb21ebbbef2d3f5bcae19141b8af3cab.tar.gz
libhubbub-6c58b992cb21ebbbef2d3f5bcae19141b8af3cab.tar.bz2
Update the list of implied end tags.
svn path=/trunk/hubbub/; revision=4435
-rw-r--r--src/treebuilder/treebuilder.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/treebuilder/treebuilder.c b/src/treebuilder/treebuilder.c
index 2b256b4..f6270c1 100644
--- a/src/treebuilder/treebuilder.c
+++ b/src/treebuilder/treebuilder.c
@@ -795,18 +795,20 @@ void insert_element_no_push(hubbub_treebuilder *treebuilder,
* Close implied end tags
*
* \param treebuilder The treebuilder instance
- * \param except Tag type to exclude from processing [DD,DT,LI,P],
- * or UNKNOWN to exclude nothing
+ * \param except Tag type to exclude from processing [DD,DT,LI,OPTION,
+ * OPTGROUP,P,RP,RT], UNKNOWN to exclude nothing
*/
-void close_implied_end_tags(hubbub_treebuilder *treebuilder,
+void close_implied_end_tags(hubbub_treebuilder *treebuilder,
element_type except)
{
element_type type;
type = treebuilder->context.element_stack[
treebuilder->context.current_node].type;
-
- while (type == DD || type == DT || type == LI || type == P) {
+
+ while (type == DD || type == DT || type == LI || type == OPTION ||
+ type == OPTGROUP || type == P || type == RP ||
+ type == RT) {
element_type otype;
void *node;