summaryrefslogtreecommitdiff
path: root/src/treebuilder/in_select.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/treebuilder/in_select.c')
-rw-r--r--src/treebuilder/in_select.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/treebuilder/in_select.c b/src/treebuilder/in_select.c
index 4809237..df286ed 100644
--- a/src/treebuilder/in_select.c
+++ b/src/treebuilder/in_select.c
@@ -56,6 +56,10 @@ bool handle_in_select(hubbub_treebuilder *treebuilder,
&node)) {
/** \todo errors */
}
+
+ treebuilder->tree_handler->unref_node(
+ treebuilder->tree_handler->ctx,
+ node);
}
insert_element(treebuilder, &token->data.tag);
@@ -65,6 +69,10 @@ bool handle_in_select(hubbub_treebuilder *treebuilder,
&node)) {
/** \todo errors */
}
+
+ treebuilder->tree_handler->unref_node(
+ treebuilder->tree_handler->ctx,
+ node);
}
if (current_node(treebuilder) == OPTGROUP) {
@@ -72,6 +80,10 @@ bool handle_in_select(hubbub_treebuilder *treebuilder,
&node)) {
/** \todo errors */
}
+
+ treebuilder->tree_handler->unref_node(
+ treebuilder->tree_handler->ctx,
+ node);
}
insert_element(treebuilder, &token->data.tag);
@@ -104,6 +116,10 @@ bool handle_in_select(hubbub_treebuilder *treebuilder,
&node)) {
/** \todo errors */
}
+
+ treebuilder->tree_handler->unref_node(
+ treebuilder->tree_handler->ctx,
+ node);
}
if (current_node(treebuilder) == OPTGROUP) {
@@ -111,6 +127,10 @@ bool handle_in_select(hubbub_treebuilder *treebuilder,
&node)) {
/** \todo errors */
}
+
+ treebuilder->tree_handler->unref_node(
+ treebuilder->tree_handler->ctx,
+ node);
} else {
/** \todo parse error */
}
@@ -120,6 +140,10 @@ bool handle_in_select(hubbub_treebuilder *treebuilder,
&node)) {
/** \todo errors */
}
+
+ treebuilder->tree_handler->unref_node(
+ treebuilder->tree_handler->ctx,
+ node);
} else {
/** \todo parse error */
}