summaryrefslogtreecommitdiff
path: root/src/treebuilder/generic_rcdata.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/treebuilder/generic_rcdata.c')
-rw-r--r--src/treebuilder/generic_rcdata.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/treebuilder/generic_rcdata.c b/src/treebuilder/generic_rcdata.c
index 07173cf..0ab3b8c 100644
--- a/src/treebuilder/generic_rcdata.c
+++ b/src/treebuilder/generic_rcdata.c
@@ -79,7 +79,7 @@ bool handle_generic_rcdata(hubbub_treebuilder *treebuilder,
break;
}
- if (done) {
+ if (done && treebuilder->context.collect.string.len) {
int success;
void *text, *appended;
@@ -107,6 +107,9 @@ bool handle_generic_rcdata(hubbub_treebuilder *treebuilder,
treebuilder->tree_handler->unref_node(
treebuilder->tree_handler->ctx, text);
+ }
+
+ if (done) {
/* Clean up context */
treebuilder->tree_handler->unref_node(
treebuilder->tree_handler->ctx,
@@ -114,8 +117,7 @@ bool handle_generic_rcdata(hubbub_treebuilder *treebuilder,
treebuilder->context.collect.node = NULL;
/* Return to previous insertion mode */
- treebuilder->context.mode =
- treebuilder->context.collect.mode;
+ treebuilder->context.mode = treebuilder->context.collect.mode;
}
return reprocess;