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;
}
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);
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);
}
- for splay_each(edge_t, e, n->edge_tree) {
+ for splay_each(edge_t, e, &n->edge_tree) {
edge_del(e);
}