}
void exit_edges(void) {
- // since edge_weight_tree does not have delete action defined
- // we have to cleanup it on exit
- for splay_each(edge_t, e, edge_weight_tree) {
- sockaddrfree(&e->address);
- sockaddrfree(&e->local_address);
- }
splay_delete_tree(edge_weight_tree);
}
void free_edge(edge_t *e) {
sockaddrfree(&e->address);
+ sockaddrfree(&e->local_address);
free(e);
}