+ trace_list = xbt_dict_new_homogeneous((void (*)(void *)) tmgr_trace_free);
+
+ xbt_dict_set(trace_list, id, (void *) trace, NULL);
+
+ xbt_dynar_free(&list);
+ return trace;
+}
+
+tmgr_trace_t tmgr_trace_new(const char *filename)
+{
+ char *tstr = NULL;
+ FILE *f = NULL;
+ tmgr_trace_t trace = NULL;
+
+ if ((!filename) || (strcmp(filename, "") == 0))
+ return NULL;
+
+ if (trace_list) {
+ trace = xbt_dict_get_or_null(trace_list, filename);
+ if (trace) {
+ XBT_WARN("Ignoring redefinition of trace %s", filename);
+ return trace;
+ }
+ }