X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=buffer_tree.c;h=44b73c946d1fc6127aba2b1e9e31c206b67ba18c;hp=5afa3ad3deda281415cfd172af0c13092b95ad67;hb=8f84db8936c1c9da355b79f3a2d1b21d5f0847df;hpb=a731a7c6e78fb137268b42062d9fb08b4e49a2c8 diff --git a/buffer_tree.c b/buffer_tree.c index 5afa3ad3..44b73c94 100644 --- a/buffer_tree.c +++ b/buffer_tree.c @@ -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; }