diff options
Diffstat (limited to 'src/core/text.c')
-rw-r--r-- | src/core/text.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/core/text.c b/src/core/text.c index 0bf6322..e36050e 100644 --- a/src/core/text.c +++ b/src/core/text.c @@ -486,19 +486,18 @@ dom_exception walk_logic_adjacent_text(dom_text *text, if (opt == COLLECT) { dom_string *data = NULL, *tmp = NULL; err = dom_characterdata_get_data(text, &data); - if (err == DOM_NO_ERR) { + if (err != DOM_NO_ERR) { dom_string_unref(*ret); return err; } err = dom_string_concat(*ret, data, &tmp); - if (err == DOM_NO_ERR) { - dom_string_unref(*ret); + dom_string_unref(data); + dom_string_unref(*ret); + if (err != DOM_NO_ERR) { return err; } - dom_string_unref(*ret); - dom_string_unref(data); *ret = tmp; } else { dom_node_internal *tn; |