fix rename'ing to local device

This commit is contained in:
Antonio SJ Musumeci
2014-06-24 16:13:49 -04:00
parent 3b6c74878c
commit ec38a9c783
2 changed files with 7 additions and 5 deletions

View File

@ -136,12 +136,12 @@ namespace fs
string string
make_path(const string base, make_path(const string base,
const string fusepath) const string suffix)
{ {
if(*base.rbegin() == '/' || if(suffix[0] == '/' ||
*fusepath.rbegin() == '/') *base.rbegin() == '/')
return base + fusepath; return base + suffix;
return base + '/' + fusepath; return base + '/' + suffix;
} }
bool bool

View File

@ -57,6 +57,8 @@ _rename(const fs::SearchFunc searchFunc,
pathto = fs::make_path(pathfrom[0].base,to); pathto = fs::make_path(pathfrom[0].base,to);
rv = ::rename(pathfrom[0].full.c_str(),pathto.c_str()); rv = ::rename(pathfrom[0].full.c_str(),pathto.c_str());
if(rv == -1 && errno == ENOENT)
return -EXDEV;
return ((rv == -1) ? -errno : 0); return ((rv == -1) ? -errno : 0);
} }