From 874fb4df5108783c4a4c250619b3159a1ef1df67 Mon Sep 17 00:00:00 2001 From: Patrick McDermott Date: Wed, 25 Oct 2017 10:52:19 -0400 Subject: mq_tree_remove*(): Link node's next sibling or parent to last child --- (limited to 'src/tree.c') diff --git a/src/tree.c b/src/tree.c index a279fd8..2e0e875 100644 --- a/src/tree.c +++ b/src/tree.c @@ -183,14 +183,16 @@ mq_tree_remove_allocated(MqTree *node) { MqTree *child; - /* Link previous sibling or parent to children. */ + /* Link siblings and/or parent to children (may be NULL). */ if (node->prev) { node->prev->next = node->first_child; } else { node->parent->first_child = node->first_child; - if (!node->next) { - node->parent->last_child = node->last_child; - } + } + if (node->next) { + node->next->prev = node->last_child; + } else { + node->parent->last_child = node->last_child; } /* Link children to siblings (may be NULL). */ -- cgit v0.9.1