diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2017-11-10 09:50:27 +0200 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2017-11-10 09:50:27 +0200 |
commit | b1258b6d6e9e0482b37e86977ffc779e14c75b9f (patch) | |
tree | e84c46aaa6675fbd574013e50b854866df734ce6 /src | |
parent | 6020d6243c7fdf657da768b3fb2efa1244665d51 (diff) | |
download | grecs-b1258b6d6e9e0482b37e86977ffc779e14c75b9f.tar.gz grecs-b1258b6d6e9e0482b37e86977ffc779e14c75b9f.tar.bz2 |
Fix 5938aedc.
* src/tree.c (grecs_node_unlink): Partially revert 5938aedc.
(node_merge_block): Fix prev link.
Diffstat (limited to 'src')
-rw-r--r-- | src/tree.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -122,6 +122,8 @@ grecs_node_unlink(struct grecs_node *node) { - if (node->up && node->up->down == node) - node->up->down = node->prev; if (node->prev) node->prev->next = node->next; + else if (node->up) + node->up->down = node->next; + else + return 1; if (node->next) @@ -131,3 +133,2 @@ grecs_node_unlink(struct grecs_node *node) } - @@ -1091,3 +1092,6 @@ node_merge_block(struct grecs_node *to_node, struct grecs_node *from_node, } + sp->next = to_node->down; + to_node->down->prev = sp; + to_node->down = from_node->down; |