- printf("Route between %s and %s\n", name1, name2);
- SD_link_t *route = SD_route_get_list(h1, h2);
- int route_size = SD_route_get_size(h1, h2);
- printf(" Route size %d\n", route_size);
- for (int k = 0; k < route_size; k++) {
- printf(" Link %s: latency = %f, bandwidth = %f\n",
- sg_link_name(route[k]), sg_link_latency(route[k]), sg_link_bandwidth(route[k]));
- }
- printf(" Route latency = %f, route bandwidth = %f\n",
- SD_route_get_latency(h1, h2), SD_route_get_bandwidth(h1, h2));
- xbt_free(route);
+ fprintf(stderr, "Route between %s and %s\n", name1, name2);
+ xbt_dynar_t route = xbt_dynar_new(sizeof(SD_link_t), NULL);
+ sg_host_route(h1, h2, route);
+ fprintf(stderr, " Route size %lu\n", xbt_dynar_length(route));
+ unsigned int k;
+ SD_link_t link;
+ xbt_dynar_foreach(route, k, link)
+ fprintf(stderr, " Link %s: latency = %f, bandwidth = %f\n",
+ sg_link_name(link), sg_link_latency(link), sg_link_bandwidth(link));
+ fprintf(stderr, " Route latency = %f, route bandwidth = %f\n",
+ sg_host_route_latency(h1, h2), sg_host_route_bandwidth(h1, h2));
+ xbt_dynar_free_container(&route);