X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6430525cf576da6bee8d0cfd41332f8260cb9ffd..c58278cb019a1db459dd698bc4ec8e313aa53b59:/src/surf/surf_interface.cpp diff --git a/src/surf/surf_interface.cpp b/src/surf/surf_interface.cpp index ce3e759d70..875c7cca5c 100644 --- a/src/surf/surf_interface.cpp +++ b/src/surf/surf_interface.cpp @@ -27,11 +27,10 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_kernel, surf, "Logging specific to SURF (ke * Utils * *********/ -std::vector* all_existing_models = nullptr; /* to destroy models correctly */ +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. */ std::set watched_hosts; extern std::map storage_types; @@ -127,11 +126,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 +138,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 } @@ -148,7 +147,7 @@ std::ifstream* surf_ifsopen(std::string name) xbt_assert(not name.empty()); std::ifstream* fs = new std::ifstream(); - if (is_absolute_file_path(name.c_str())) { /* don't mess with absolute file names */ + if (is_absolute_file_path(name)) { /* don't mess with absolute file names */ fs->open(name.c_str(), std::ifstream::in); } @@ -166,14 +165,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,10 +293,6 @@ void surf_init(int *argc, char **argv) USER_HOST_LEVEL = simgrid::s4u::Host::extension_create(nullptr); xbt_init(argc, argv); - if (not all_existing_models) - all_existing_models = new std::vector(); - if (not future_evt_set) - future_evt_set = new simgrid::trace_mgr::future_evt_set(); sg_config_init(argc, argv); @@ -317,12 +310,10 @@ void surf_exit() delete stype; } - for (auto const& model : *all_existing_models) + for (auto const& model : all_existing_models) delete model; - delete all_existing_models; - delete future_evt_set; - future_evt_set = nullptr; + xbt_free(surf_plugin_description); tmgr_finalize(); sg_platf_exit();