diff --git a/lib/src/subtree.c b/lib/src/subtree.c index 065b3a32..c8960a2c 100644 --- a/lib/src/subtree.c +++ b/lib/src/subtree.c @@ -629,9 +629,9 @@ int ts_subtree_compare(Subtree left, Subtree right, SubtreePool *pool) { int result = 0; if (ts_subtree_symbol(left) < ts_subtree_symbol(right)) result = -1; - if (ts_subtree_symbol(right) < ts_subtree_symbol(left)) result = 1; - if (ts_subtree_child_count(left) < ts_subtree_child_count(right)) result = -1; - if (ts_subtree_child_count(right) < ts_subtree_child_count(left)) result = 1; + else if (ts_subtree_symbol(right) < ts_subtree_symbol(left)) result = 1; + else if (ts_subtree_child_count(left) < ts_subtree_child_count(right)) result = -1; + else if (ts_subtree_child_count(right) < ts_subtree_child_count(left)) result = 1; if (result != 0) { array_clear(&pool->tree_stack); return result;