X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=buffer_tree.c;h=aa9f1cdb0c95b77635981cea0e6bb1588bbcdc03;hp=cc2bb511696f2e65240a17bbc4962b20c9f0930b;hb=0a7cadcc8cb243121ad1af86396c70d8e8f6da38;hpb=07fdaa7973c1b97ded3ebd200ef845728547f94e diff --git a/buffer_tree.c b/buffer_tree.c index cc2bb511..aa9f1cdb 100644 --- a/buffer_tree.c +++ b/buffer_tree.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009-2012 Andre Noll + * Copyright (C) 2009-2013 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -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;