/*
splay_tree.c -- splay tree and linked list convenience
- Copyright (C) 2004-2012 Guus Sliepen <guus@tinc-vpn.org>
+ Copyright (C) 2004-2013 Guus Sliepen <guus@tinc-vpn.org>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
splay_tree_t *splay_alloc_tree(splay_compare_t compare, splay_action_t delete) {
splay_tree_t *tree;
- tree = xmalloc_and_zero(sizeof(splay_tree_t));
+ tree = xzalloc(sizeof(splay_tree_t));
tree->compare = compare;
tree->delete = delete;
}
splay_node_t *splay_alloc_node(void) {
- return xmalloc_and_zero(sizeof(splay_node_t));
+ return xzalloc(sizeof(splay_node_t));
}
void splay_free_node(splay_tree_t *tree, splay_node_t *node) {
splay_node_t *closest;
int result;
+ node->left = node->right = node->parent = node->next = node->prev = NULL;
+
if(!tree->root)
splay_insert_top(tree, node);
else {