X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/685040f3a8779f848f54d8bc8f8d1d1bf003a622..10f8a979e6fa1ee45d2aaf15b06743ec74759fe3:/src/surf/surf_interface.cpp diff --git a/src/surf/surf_interface.cpp b/src/surf/surf_interface.cpp index a7135decba..40a5736ea0 100644 --- a/src/surf/surf_interface.cpp +++ b/src/surf/surf_interface.cpp @@ -29,7 +29,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_kernel, surf, "Logging specific to SURF (ke std::vector all_existing_models; /* to destroy models correctly */ -simgrid::trace_mgr::future_evt_set *future_evt_set = nullptr; +simgrid::trace_mgr::future_evt_set future_evt_set; std::vector surf_path; std::vector host_that_restart; /** set of hosts for which one want to be notified if they ever restart. */ @@ -127,11 +127,11 @@ double surf_get_clock() } /* returns whether #file_path is a absolute file path. Surprising, isn't it ? */ -static bool is_absolute_file_path(const char* file_path) +static bool is_absolute_file_path(std::string file_path) { #ifdef _WIN32 WIN32_FIND_DATA wfd = {0}; - HANDLE hFile = FindFirstFile(file_path, &wfd); + HANDLE hFile = FindFirstFile(file_path.c_str(), &wfd); if (INVALID_HANDLE_VALUE == hFile) return false; @@ -139,7 +139,7 @@ static bool is_absolute_file_path(const char* file_path) FindClose(hFile); return true; #else - return (file_path[0] == '/'); + return (file_path.c_str()[0] == '/'); #endif } @@ -166,14 +166,12 @@ std::ifstream* surf_ifsopen(std::string name) return fs; } -FILE *surf_fopen(const char *name, const char *mode) +FILE* surf_fopen(std::string name, const char* mode) { FILE *file = nullptr; - xbt_assert(name); - if (is_absolute_file_path(name)) /* don't mess with absolute file names */ - return fopen(name, mode); + return fopen(name.c_str(), mode); /* search relative files in the path */ for (auto const& path_elm : surf_path) { @@ -296,8 +294,6 @@ void surf_init(int *argc, char **argv) USER_HOST_LEVEL = simgrid::s4u::Host::extension_create(nullptr); xbt_init(argc, argv); - if (not future_evt_set) - future_evt_set = new simgrid::trace_mgr::future_evt_set(); sg_config_init(argc, argv); @@ -318,8 +314,7 @@ void surf_exit() for (auto const& model : all_existing_models) delete model; - delete future_evt_set; - future_evt_set = nullptr; + xbt_free(surf_plugin_description); tmgr_finalize(); sg_platf_exit();