X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c1b3e440de2150420b08c0bc55a125a0c9eb86bc..5fd5c2b8932f9288216e47e78580d31aca2892a1:/src/plugins/file_system/s4u_FileSystem.cpp diff --git a/src/plugins/file_system/s4u_FileSystem.cpp b/src/plugins/file_system/s4u_FileSystem.cpp index 57c5b40022..b28d3d846f 100644 --- a/src/plugins/file_system/s4u_FileSystem.cpp +++ b/src/plugins/file_system/s4u_FileSystem.cpp @@ -23,9 +23,9 @@ namespace s4u { simgrid::xbt::Extension FileSystemStorageExt::EXTENSION_ID; simgrid::xbt::Extension FileDescriptorHostExt::EXTENSION_ID; -File::File(std::string fullpath, void* userdata) : File(std::move(fullpath), Host::current(), userdata){}; +File::File(const std::string& fullpath, void* userdata) : File(fullpath, Host::current(), userdata){}; -File::File(std::string fullpath, sg_host_t host, void* userdata) : fullpath_(std::move(fullpath)), userdata_(userdata) +File::File(const std::string& fullpath, sg_host_t host, void* userdata) : fullpath_(fullpath), userdata_(userdata) { // this cannot fail because we get a xbt_die if the mountpoint does not exist Storage* st = nullptr; @@ -102,7 +102,7 @@ sg_size_t File::read(sg_size_t size) sg_size_t read_size = local_storage_->read(std::min(size, size_ - current_position_)); current_position_ += read_size; - if (strcmp(host->get_cname(), Host::current()->get_cname())) { + if (host->get_name() != Host::current()->get_name()) { /* the file is hosted on a remote host, initiate a communication between src and dest hosts for data transfer */ XBT_DEBUG("File is on %s remote host, initiate data transfer of %llu bytes.", host->get_cname(), read_size); std::vector m_host_list = {Host::current(), host}; @@ -128,7 +128,7 @@ sg_size_t File::write(sg_size_t size) /* Find the host where the file is physically located (remote or local)*/ Host* host = local_storage_->get_host(); - if (strcmp(host->get_cname(), Host::current()->get_cname())) { + if (host->get_name() != Host::current()->get_name()) { /* the file is hosted on a remote host, initiate a communication between src and dest hosts for data transfer */ XBT_DEBUG("File is on %s remote host, initiate data transfer of %llu bytes.", host->get_cname(), size); std::vector m_host_list = {Host::current(), host}; @@ -190,10 +190,10 @@ sg_size_t File::tell() return current_position_; } -void File::move(std::string fullpath) +void File::move(const std::string& fullpath) { /* Check if the new full path is on the same mount point */ - if (not strncmp(mount_point_.c_str(), fullpath.c_str(), mount_point_.length())) { + if (fullpath.compare(0, mount_point_.length(), mount_point_) == 0) { std::map* content = local_storage_->extension()->get_content(); auto sz = content->find(path_); if (sz != content->end()) { // src file exists @@ -297,7 +297,7 @@ FileSystemStorageExt::~FileSystemStorageExt() delete content_; } -std::map* FileSystemStorageExt::parse_content(std::string filename) +std::map* FileSystemStorageExt::parse_content(const std::string& filename) { if (filename.empty()) return nullptr;