diff options
Diffstat (limited to 'src/core/text.c')
-rw-r--r-- | src/core/text.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/core/text.c b/src/core/text.c index 58f2c41..1a5adaa 100644 --- a/src/core/text.c +++ b/src/core/text.c @@ -350,6 +350,10 @@ dom_exception walk_logic_adjacent_text_in_order( dom_node_internal *node, walk_operation opt, walk_order order, dom_string **ret, bool *cont) { + dom_exception err; + dom_string *data, *tmp; + dom_node_internal *parent; + /* If we reach the leaf of the DOM tree, just return to continue * to next sibling of our parent */ if (node == NULL) { @@ -357,11 +361,11 @@ dom_exception walk_logic_adjacent_text_in_order( return DOM_NO_ERR; } - dom_exception err; - dom_string *data, *tmp; - dom_node_internal *parent = dom_node_get_parent(node); + parent = dom_node_get_parent(node); while (node != NULL) { + dom_node_internal *p; + /* If we reach the boundary of logical-adjacent text, we stop */ if (node->type == DOM_ELEMENT_NODE || node->type == DOM_COMMENT_NODE || @@ -411,7 +415,7 @@ dom_exception walk_logic_adjacent_text_in_order( } } - dom_node_internal *p = dom_node_get_parent(node); + p = dom_node_get_parent(node); if (order == LEFT) { if (node->last_child != NULL) { node = node->last_child; |