X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/293f64574aef0e51a16ed3ba8187c650765dfd99..9f4ddf3b15fccdab0f2666bf44061e7fd8305f49:/src/surf/surf_routing_dijkstra.c diff --git a/src/surf/surf_routing_dijkstra.c b/src/surf/surf_routing_dijkstra.c index 778f37d629..52d4926efa 100644 --- a/src/surf/surf_routing_dijkstra.c +++ b/src/surf/surf_routing_dijkstra.c @@ -79,7 +79,7 @@ static xbt_node_t route_graph_new_node(as_dijkstra_t as, elm = xbt_new0(struct graph_node_map_element, 1); elm->node = node; xbt_dict_set_ext(as->graph_node_map, (char *) (&id), sizeof(int), - (xbt_set_elm_t) elm, &graph_node_map_elem_free); + (xbt_set_elm_t) elm, NULL); return node; } @@ -387,7 +387,7 @@ static void dijkstra_get_route_and_latency(AS_t asg, elm->pred_arr = pred_arr; elm->size = size; xbt_dict_set_ext(as->route_cache, (char *) (&src_id), sizeof(int), - (xbt_set_elm_t) elm, &route_cache_elem_free); + (xbt_set_elm_t) elm, NULL); } if (!as->cached) @@ -437,27 +437,27 @@ AS_t model_dijkstracache_create(void) void model_dijkstra_both_end(AS_t as) { - as_dijkstra_t THIS = (as_dijkstra_t) as; + as_dijkstra_t THIS_AS = (as_dijkstra_t) as; xbt_node_t node = NULL; unsigned int cursor2; xbt_dynar_t nodes = NULL; /* Create the topology graph */ - if(!THIS->route_graph) - THIS->route_graph = xbt_graph_new_graph(1, NULL); - if(!THIS->graph_node_map) - THIS->graph_node_map = xbt_dict_new(); + if(!THIS_AS->route_graph) + THIS_AS->route_graph = xbt_graph_new_graph(1, NULL); + if(!THIS_AS->graph_node_map) + THIS_AS->graph_node_map = xbt_dict_new_homogeneous(&graph_node_map_elem_free); - if (THIS->cached && !THIS->route_cache) - THIS->route_cache = xbt_dict_new(); + if (THIS_AS->cached && !THIS_AS->route_cache) + THIS_AS->route_cache = xbt_dict_new_homogeneous(&route_cache_elem_free); /* Add the loopback if needed */ if (as->hierarchy == SURF_ROUTING_BASE) - add_loopback_dijkstra(THIS); + add_loopback_dijkstra(THIS_AS); /* initialize graph indexes in nodes after graph has been built */ - nodes = xbt_graph_get_nodes(THIS->route_graph); + nodes = xbt_graph_get_nodes(THIS_AS->route_graph); xbt_dynar_foreach(nodes, cursor2, node) { graph_node_data_t data = xbt_graph_node_get_data(node); @@ -480,10 +480,10 @@ void model_dijkstra_both_parse_route (AS_t asg, const char *src, if(!as->route_graph) as->route_graph = xbt_graph_new_graph(1, NULL); if(!as->graph_node_map) - as->graph_node_map = xbt_dict_new(); + as->graph_node_map = xbt_dict_new_homogeneous(&graph_node_map_elem_free); if (as->cached && !as->route_cache) - as->route_cache = xbt_dict_new(); + as->route_cache = xbt_dict_new_homogeneous(&route_cache_elem_free); if( A_surfxml_route_symmetrical == A_surfxml_route_symmetrical_YES || A_surfxml_ASroute_symmetrical == A_surfxml_ASroute_symmetrical_YES )