projects
/
tinc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use splay trees inside node_t directly.
[tinc]
/
src
/
node.c
diff --git
a/src/node.c
b/src/node.c
index
850f2da
..
4caf992
100644
(file)
--- a/
src/node.c
+++ b/
src/node.c
@@
-78,8
+78,9
@@
node_t *new_node(void) {
n->late = xzalloc(replaywin);
}
n->late = xzalloc(replaywin);
}
- n->subnet_tree = new_subnet_tree();
- n->edge_tree = new_edge_tree();
+ init_subnet_tree(&n->subnet_tree);
+ init_edge_tree(&n->edge_tree);
+
n->mtu = MTU;
n->maxmtu = MTU;
n->udp_ping_rtt = -1;
n->mtu = MTU;
n->maxmtu = MTU;
n->udp_ping_rtt = -1;
@@
-88,13
+89,8
@@
node_t *new_node(void) {
}
void free_node(node_t *n) {
}
void free_node(node_t *n) {
- if(n->subnet_tree) {
- free_subnet_tree(n->subnet_tree);
- }
-
- if(n->edge_tree) {
- free_edge_tree(n->edge_tree);
- }
+ splay_empty_tree(&n->subnet_tree);
+ splay_empty_tree(&n->edge_tree);
sockaddrfree(&n->address);
sockaddrfree(&n->address);
@@
-133,11
+129,11
@@
void node_add(node_t *n) {
void node_del(node_t *n) {
splay_delete(&node_udp_tree, n);
void node_del(node_t *n) {
splay_delete(&node_udp_tree, n);
- for splay_each(subnet_t, s, n->subnet_tree) {
+ for splay_each(subnet_t, s,
&
n->subnet_tree) {
subnet_del(n, s);
}
subnet_del(n, s);
}
- for splay_each(edge_t, e, n->edge_tree) {
+ for splay_each(edge_t, e,
&
n->edge_tree) {
edge_del(e);
}
edge_del(e);
}