projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Replace pointers to global splay trees with structs.
[tinc]
/
src
/
splay_tree.c
diff --git
a/src/splay_tree.c
b/src/splay_tree.c
index
4d97373
..
50d701c
100644
(file)
--- a/
src/splay_tree.c
+++ b/
src/splay_tree.c
@@
-604,12
+604,21
@@
void splay_delete(splay_tree_t *tree, void *data) {
/* Fast tree cleanup */
/* Fast tree cleanup */
-void splay_
delete
_tree(splay_tree_t *tree) {
+void splay_
empty
_tree(splay_tree_t *tree) {
for(splay_node_t *node = tree->head, *next; node; node = next) {
next = node->next;
splay_free_node(tree, node);
}
for(splay_node_t *node = tree->head, *next; node; node = next) {
next = node->next;
splay_free_node(tree, node);
}
+ tree->head = NULL;
+ tree->tail = NULL;
+ tree->root = NULL;
+ tree->count = 0;
+ tree->generation++;
+}
+
+void splay_delete_tree(splay_tree_t *tree) {
+ splay_empty_tree(tree);
splay_free_tree(tree);
}
splay_free_tree(tree);
}