- xbt_dict_t storage_list = host->mountedStoragesAsDict();
- char *mount_name;
- char *storage_name;
- xbt_dict_foreach(storage_list,cursor,mount_name,storage_name){
- char* file_mount_name = static_cast<char*>(xbt_malloc(strlen(mount_name) + 1));
- strncpy(file_mount_name, fullpath, strlen(mount_name) + 1);
- file_mount_name[strlen(mount_name)] = '\0';
-
- if (not strcmp(file_mount_name, mount_name) && strlen(mount_name) > longest_prefix_length) {
+ for (auto const& elm : host->getMountedStorages()) {
+ std::string mount_point = std::string(fullpath).substr(0, elm.first.size());
+ if (mount_point == elm.first && elm.first.length() > longest_prefix_length) {