X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/46a72a52f62a5df8976056025fbad99dc4d9cd20..b035f4fba1852d16bb9316bb0b23329b108b605b:/src/surf/surf_routing.cpp
diff --git a/src/surf/surf_routing.cpp b/src/surf/surf_routing.cpp
index aa867591ec..596ccee010 100644
--- a/src/surf/surf_routing.cpp
+++ b/src/surf/surf_routing.cpp
@@ -100,29 +100,24 @@ void RoutingPlatf::getRouteAndLatency(NetCard *src, NetCard *dst, std::vector
getOneLinkRoutes();
- if (onelink_mine)
- xbt_dynar_merge(&ret,&onelink_mine);
+ as->getOneLinkRoutes(accumulator);
//recursing
char *key;
xbt_dict_cursor_t cursor = nullptr;
AsImpl *rc_child;
xbt_dict_foreach(as->children(), cursor, key, rc_child) {
- xbt_dynar_t onelink_child = _recursiveGetOneLinkRoutes(rc_child);
- if (onelink_child)
- xbt_dynar_merge(&ret,&onelink_child);
+ _recursiveGetOneLinkRoutes(rc_child, accumulator);
}
- return ret;
}
xbt_dynar_t RoutingPlatf::getOneLinkRoutes(){
- return _recursiveGetOneLinkRoutes(root_);
+ xbt_dynar_t res = xbt_dynar_new(sizeof(Onelink*), xbt_free_f);
+ _recursiveGetOneLinkRoutes(root_, res);
+ return res;
}
}}}