Browse Source

Merge pull request #400 from trapexit/movefile-tweak

tweak movefile behavior
pull/402/head
Antonio SJ Musumeci 8 years ago
committed by GitHub
parent
commit
3c8afc1bb0
  1. 24
      src/fs_movefile.cpp
  2. 8
      src/fs_movefile.hpp

24
src/fs_movefile.cpp

@ -36,6 +36,15 @@ using std::vector;
namespace fs
{
int
movefile(const vector<string> &basepaths,
const string &fusepath,
const size_t additional_size,
int &origfd)
{
return fs::movefile(basepaths,fusepath.c_str(),additional_size,origfd);
}
int
movefile(const vector<string> &basepaths,
const char *fusepath,
@ -95,19 +104,12 @@ namespace fs
return -1;
}
rv = fs::unlink(fdin_path);
if(rv == -1)
{
fs::close(fdin);
fs::close(fdout);
fs::unlink(fdout_path);
return -1;
}
// should we care if it fails?
fs::unlink(fdin_path);
std::swap(origfd,fdout);
fs::close(fdin);
fs::close(origfd);
origfd = fdout;
fs::close(fdout);
return 0;
}

8
src/fs_movefile.hpp

@ -23,7 +23,13 @@
namespace fs
{
int
movefile(const vector<string> &basepaths,
movefile(const std::vector<std::string> &basepaths,
const std::string &fusepath,
const size_t additional_size,
int &origfd);
int
movefile(const std::vector<std::string> &basepaths,
const char *fusepath,
const size_t additional_size,
int &origfd);

Loading…
Cancel
Save