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) {
+ return;
}
- 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);
#ifndef DISABLE_LEGACY
- cipher_close(n->incipher);
- digest_close(n->indigest);
- cipher_close(n->outcipher);
- digest_close(n->outdigest);
+ cipher_free(n->incipher);
+ digest_free(n->indigest);
+ cipher_free(n->outcipher);
+ digest_free(n->outdigest);
#endif
ecdsa_free(n->ecdsa);
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);
}
}
id[sizeof(id) - 1] = 0;
- send_request(c, "%d %d %s %s %s %d %d %zu %d %x %x %s %s %d %d %d %d %ld %d %"PRIu64" %"PRIu64" %"PRIu64" %"PRIu64, CONTROL, REQ_DUMP_NODES,
+ send_request(c, "%d %d %s %s %s %d %d %lu %d %x %x %s %s %d %d %d %d %ld %d %"PRIu64" %"PRIu64" %"PRIu64" %"PRIu64, CONTROL, REQ_DUMP_NODES,
n->name, id, n->hostname ? n->hostname : "unknown port unknown",
#ifdef DISABLE_LEGACY
0, 0, 0UL,
#else
- cipher_get_nid(n->outcipher), digest_get_nid(n->outdigest), digest_length(n->outdigest),
+ cipher_get_nid(n->outcipher), digest_get_nid(n->outdigest), (unsigned long)digest_length(n->outdigest),
#endif
- n->outcompression, n->options, bitfield_to_int(&n->status, sizeof(n->status)),
+ n->outcompression, n->options, n->status.value,
n->nexthop ? n->nexthop->name : "-", n->via && n->via->name ? n->via->name : "-", n->distance,
n->mtu, n->minmtu, n->maxmtu, (long)n->last_state_change, n->udp_ping_rtt,
n->in_packets, n->in_bytes, n->out_packets, n->out_bytes);