diff --git a/src/fuse_rename.cpp b/src/fuse_rename.cpp index 7c9de7bc..fc40c0ab 100644 --- a/src/fuse_rename.cpp +++ b/src/fuse_rename.cpp @@ -92,8 +92,7 @@ _rename_create_path(const Policy::Search &searchPolicy_, for(auto &branch : *branches_) { - newfullpath = branch.path; - newfullpath += newfusepath_; + newfullpath = branch.path / newfusepath_; if(!::_contains(oldbranches,branch.path)) { @@ -101,8 +100,7 @@ _rename_create_path(const Policy::Search &searchPolicy_, continue; } - oldfullpath = branch.path; - oldfullpath += oldfusepath_; + oldfullpath = branch.path / oldfusepath_; rv = fs::rename(oldfullpath,newfullpath); if(rv < 0) @@ -146,8 +144,7 @@ _rename_preserve_path(const Policy::Action &actionPolicy_, success = false; for(auto &branch : *branches_) { - newfullpath = branch.path; - newfullpath += newfusepath_; + newfullpath = branch.path / newfusepath_; if(!::_contains(oldbranches,branch.path)) { @@ -155,8 +152,7 @@ _rename_preserve_path(const Policy::Action &actionPolicy_, continue; } - oldfullpath = branch.path; - oldfullpath += oldfusepath_; + oldfullpath = branch.path / oldfusepath_; rv = fs::rename(oldfullpath,newfullpath); if(rv < 0) @@ -189,10 +185,10 @@ _rename_exdev_rename_back(const std::vector &branches_, { oldpath = branch->path; oldpath /= ".mergerfs_rename_exdev"; - oldpath += oldfusepath_; + oldpath /= oldfusepath_; newpath = branch->path; - newpath += oldfusepath_; + newpath /= oldfusepath_; fs::rename(oldpath,newpath); } @@ -207,7 +203,7 @@ _rename_exdev_rename_target(const Policy::Action &actionPolicy_, { int rv; fs::path clonesrc; - fs::path clonetgt; + fs::path clonedst; rv = actionPolicy_(ibranches_,oldfusepath_,obranches_); if(rv < 0) @@ -217,23 +213,23 @@ _rename_exdev_rename_target(const Policy::Action &actionPolicy_, for(auto &branch : obranches_) { clonesrc = branch->path; - clonetgt = branch->path; - clonetgt /= ".mergerfs_rename_exdev"; + clonedst = branch->path; + clonedst /= ".mergerfs_rename_exdev"; - rv = fs::clonepath(clonesrc,clonetgt,oldfusepath_.parent_path()); + rv = fs::clonepath(clonesrc,clonedst,oldfusepath_.parent_path()); if(rv == -ENOENT) { - fs::mkdir(clonetgt,01777); - rv = fs::clonepath(clonesrc,clonetgt,oldfusepath_.parent_path()); + fs::mkdir(clonedst,01777); + rv = fs::clonepath(clonesrc,clonedst,oldfusepath_.parent_path()); } if(rv < 0) goto error; - clonesrc += oldfusepath_; - clonetgt += oldfusepath_; + clonesrc /= oldfusepath_; + clonedst /= oldfusepath_; - rv = fs::rename(clonesrc,clonetgt); + rv = fs::rename(clonesrc,clonedst); if(rv < 0) goto error; } @@ -264,7 +260,7 @@ _rename_exdev_rel_symlink(const Policy::Action &actionPolicy_, linkpath = newfusepath_; target = "/.mergerfs_rename_exdev"; - target += oldfusepath_; + target /= oldfusepath_; target = target.lexically_relative(linkpath.parent_path()); rv = FUSE::symlink(target.c_str(),linkpath); @@ -294,7 +290,7 @@ _rename_exdev_abs_symlink(const Policy::Action &actionPolicy_, linkpath = newfusepath_; target = mount_; target /= ".mergerfs_rename_exdev"; - target += oldfusepath_; + target /= oldfusepath_; rv = FUSE::symlink(target.c_str(),linkpath); if(rv < 0)