info->p_rcComponent = new_as->p_routingFather;
info->p_rcType = SURF_NETWORK_ELEMENT_AS;
- info->p_name = new_as->p_name;
+ info->p_name = xbt_strdup(new_as->p_name);
xbt_lib_set(as_router_lib, info->p_name, ROUTING_ASR_LEVEL,
(void *) info);
* even if you add stuff to a closed AS
*
*/
-void routing_AS_end(sg_platf_AS_cbarg_t AS)
+void routing_AS_end(sg_platf_AS_cbarg_t /*AS*/)
{
if (current_routing == NULL) {
/* Common ancestor is kind enough to declare a bypass route from src to dst -- use it and bail out */
if (e_route_bypass) {
xbt_dynar_merge(links, &e_route_bypass->link_list);
- //FIXME:generic_free_route(e_route_bypass);
+ generic_free_route(e_route_bypass);
return;
}
/** \brief Frees all memory allocated by the routing module */
void routing_exit(void) {
- if (!routing_platf)
- return;
- xbt_dynar_free(&routing_platf->p_lastRoute);
- finalize_rec(routing_platf->p_root);
- xbt_free(routing_platf);
+ delete routing_platf;
+}
+
+RoutingPlatf::~RoutingPlatf()
+{
+ xbt_dynar_free(&p_lastRoute);
+ finalize_rec(p_root);
}
AS_t surf_AS_get_routing_root() {