-static void _finalize(routing_component_t rc)
-{
- if (rc) {
- xbt_dict_cursor_t cursor = NULL;
- char *key;
- routing_component_t elem;
- xbt_dict_foreach(rc->routing_sons, cursor, key, elem) {
- _finalize(elem);
- }
- xbt_dict_t tmp_sons = rc->routing_sons;
- char *tmp_name = rc->name;
- xbt_dict_free(&tmp_sons);
- xbt_free(tmp_name);
- xbt_assert(rc->finalize, "no defined method \"finalize\" in \"%s\"",
- current_routing->name);
- (*(rc->finalize)) (rc);
- }
+static void finalize_rec(AS_t as) {
+ xbt_dict_cursor_t cursor = NULL;
+ char *key;
+ AS_t elem;
+
+ xbt_dict_foreach(as->routing_sons, cursor, key, elem)
+ finalize_rec(elem);
+
+ xbt_dict_free(&as->routing_sons);
+ xbt_free(as->name);
+ as->finalize(as);