X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=buffer_tree.c;h=aa9f1cdb0c95b77635981cea0e6bb1588bbcdc03;hp=f0a7b224f9fad39fd8036d37eedbf619e3ca585b;hb=c967924027fa0b94ebe2c6b28bc191578f7afaea;hpb=2f07d34b5d4c37606be5849b6ee51e0443707898 diff --git a/buffer_tree.c b/buffer_tree.c index f0a7b224..aa9f1cdb 100644 --- a/buffer_tree.c +++ b/buffer_tree.c @@ -856,6 +856,8 @@ void btr_splice_out_node(struct btr_node *btrn) ch->parent = btrn->parent; if (btrn->parent) list_move(&ch->node, &btrn->parent->children); + else + list_del(&ch->node); } assert(list_empty(&btrn->children)); btrn->parent = NULL; @@ -1230,6 +1232,16 @@ void btr_get_node_start(struct btr_node *btrn, struct timeval *tv) *tv = btrn->start; } +/** + * Get the parent node of a buffer tree node. + * + * \param btrn The node whose parent should be returned. + * + * \a btrn must not be \p NULL. + * + * \return The parent of \a btrn, or \p NULL if \a btrn is the + * root node of the buffer tree. + */ struct btr_node *btr_parent(struct btr_node *btrn) { return btrn->parent;