summaryrefslogtreecommitdiff
path: root/src/treebuilder/treebuilder.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/treebuilder/treebuilder.c')
-rw-r--r--src/treebuilder/treebuilder.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/treebuilder/treebuilder.c b/src/treebuilder/treebuilder.c
index c9a41be..1f6baef 100644
--- a/src/treebuilder/treebuilder.c
+++ b/src/treebuilder/treebuilder.c
@@ -517,16 +517,20 @@ void parse_generic_rcdata(hubbub_treebuilder *treebuilder,
/** \todo associate textarea with form */
}
- success = treebuilder->tree_handler->append_child(
- treebuilder->tree_handler->ctx,
- treebuilder->context.element_stack[
- treebuilder->context.current_node].node,
- node, &appended);
- if (success != 0) {
- /** \todo errors */
- treebuilder->tree_handler->unref_node(
+ if (treebuilder->context.in_table_foster) {
+ aa_insert_into_foster_parent(treebuilder, node);
+ } else {
+ success = treebuilder->tree_handler->append_child(
treebuilder->tree_handler->ctx,
- node);
+ treebuilder->context.element_stack[
+ treebuilder->context.current_node].node,
+ node, &appended);
+ if (success != 0) {
+ /** \todo errors */
+ treebuilder->tree_handler->unref_node(
+ treebuilder->tree_handler->ctx,
+ node);
+ }
}
params.content_model.model = rcdata ? HUBBUB_CONTENT_MODEL_RCDATA