X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=src%2Fnode.c;h=4caf992dd83e9e3ba01380a58884540e3be423fd;hb=914d1be411229c28e6e8e4a0df99afa076a8b448;hp=850f2dae158f0bdc93bff136358077b139bdd7ba;hpb=3a149f7521dfff67e6a790c1a830afc649ae083e;p=tinc diff --git a/src/node.c b/src/node.c index 850f2dae..4caf992d 100644 --- a/src/node.c +++ b/src/node.c @@ -78,8 +78,9 @@ node_t *new_node(void) { 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; @@ -88,13 +89,8 @@ node_t *new_node(void) { } 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); @@ -133,11 +129,11 @@ void node_add(node_t *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); } - for splay_each(edge_t, e, n->edge_tree) { + for splay_each(edge_t, e, &n->edge_tree) { edge_del(e); }