- if (trace_list) {
- trace = (tmgr_trace_t)xbt_dict_get_or_null(trace_list, filename);
- if (trace) {
- XBT_WARN("Ignoring redefinition of trace %s", filename);
- return trace;
- }
- }
-
- FILE *f = surf_fopen(filename, "r");
- xbt_assert(f != NULL,
- "Cannot open file '%s' (path=%s)", filename, xbt_str_join(surf_path, ":"));
+ std::stringstream buffer;
+ buffer << f->rdbuf();
+ tmgr_trace_t trace = tmgr_trace_new_from_string(filename, buffer.str(), -1);