- void *link;
- unsigned int cpt;
-
- if (strcmp(src, e_route_cnt->src_gateway)) {
- double latency_src;
- xbt_dynar_t route_src;
-
- _get_route_latency(src, e_route_cnt->src_gateway,
- (route ? &route_src : NULL),
- (latency ? &latency_src : NULL));
- if (route) {
- xbt_assert(route_src, "no route between \"%s\" and \"%s\"",
- src, e_route_cnt->src_gateway);
- xbt_dynar_foreach(route_src, cpt, link) {
- xbt_dynar_push(*route, &link);
- }
- xbt_dynar_free(&route_src);
- }
- if (latency) {
- xbt_assert(latency_src >= 0.0,
- "latency error on route between \"%s\" and \"%s\"",
- src, e_route_cnt->src_gateway);
- *latency += latency_src;
- }
- }