summaryrefslogtreecommitdiff
path: root/src/treebuilder/generic_rcdata.c
diff options
context:
space:
mode:
authorAndrew Sidwell <andy@entai.co.uk>2008-07-11 12:03:26 +0000
committerAndrew Sidwell <andy@entai.co.uk>2008-07-11 12:03:26 +0000
commitad6930529525c4635fa68ec1fe8c6d6ac961828c (patch)
tree6aa74d6422e40a20fc0ebdaa5a22d370bb7746e2 /src/treebuilder/generic_rcdata.c
parent43f9df0a35d46bfd4fd84b465b36d6173df7cf32 (diff)
downloadlibhubbub-ad6930529525c4635fa68ec1fe8c6d6ac961828c.tar.gz
libhubbub-ad6930529525c4635fa68ec1fe8c6d6ac961828c.tar.bz2
Fix up script and rcdata collection modes.
svn path=/trunk/hubbub/; revision=4587
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;