+/* __SD_print_dependencies(src);
+ __SD_print_dependencies(dst); */
+}
+
+/* Returns the data associated to a dependency between two tasks. This data can be NULL.
+ */
+void *SD_task_dependency_get_data(SD_task_t src, SD_task_t dst) {
+ SD_CHECK_INIT_DONE();
+ xbt_assert0(src != NULL && dst != NULL, "Invalid parameter");
+ xbt_assert1(src != dst, "Cannot have a dependency between task '%s' and itself", SD_task_get_name(src));
+
+ xbt_dynar_t dynar = src->sd_data->tasks_after;
+ int length = xbt_dynar_length(dynar);
+ int found = 0;
+ int i;
+ SD_dependency_t dependency;
+ for (i = 0; i < length && !found; i++) {
+ xbt_dynar_get_cpy(dynar, i, &dependency);
+ found = (dependency->dst == dst);
+ }
+ xbt_assert4(found, "No dependency found between task '%s' and '%s': task '%s' is not a successor of task '%s'",
+ src->sd_data->name, dst->sd_data->name, dst->sd_data->name, src->sd_data->name);
+ return dependency->data;