X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=buffer_tree.c;h=44b73c946d1fc6127aba2b1e9e31c206b67ba18c;hp=56ab2b24cccd3e0b1f0bd786006cd3c08ab6424f;hb=8f84db8936c1c9da355b79f3a2d1b21d5f0847df;hpb=b3644a3f5de245609dc608a947ed71e2f75b2fd5 diff --git a/buffer_tree.c b/buffer_tree.c index 56ab2b24..44b73c94 100644 --- a/buffer_tree.c +++ b/buffer_tree.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2009-2013 Andre Noll + * Copyright (C) 2009-2014 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -771,6 +771,12 @@ void btr_drain(struct btr_node *btrn) btr_drop_buffer_reference(br); } +static void btr_free_node(struct btr_node *btrn) +{ + free(btrn->name); + free(btrn); +} + /** * Remove a node from a buffer tree. * @@ -798,8 +804,7 @@ void btr_remove_node(struct btr_node **btrnp) btr_drain(btrn); if (btrn->parent) list_del(&btrn->node); - free(btrn->name); - free(btrn); + btr_free_node(btrn); out: *btrnp = NULL; } @@ -862,6 +867,7 @@ void btr_splice_out_node(struct btr_node **btrnp) list_del(&ch->node); } assert(list_empty(&btrn->children)); + btr_free_node(btrn); *btrnp = NULL; }