Merge branch 'feature/FileFailOnOverwrite' of https://github.com/KevDi/poco into feature/FileFailOnOverwrite

This commit is contained in:
Jan Kevin Dick 2019-11-26 13:04:49 +01:00
commit 3424ee7bc8
2 changed files with 10 additions and 0 deletions

View File

@ -384,6 +384,11 @@ void FileImpl::renameToImpl(const std::string& path, int options)
{
poco_assert (!_path.empty());
struct stat st;
if (stat(path.c_str(), &st) == 0 && failOnOverwrite)
throw FileExistsException(path, EEXIST);
if (rename(_path.c_str(), path.c_str()) != 0)
handleLastErrorImpl(_path);
}

View File

@ -286,6 +286,11 @@ void FileImpl::renameToImpl(const std::string& path, int options)
{
poco_assert (!_path.empty());
struct stat st;
if (stat(path.c_str(), &st) == 0 && failOnOverwrite)
throw FileExistsException(path, EEXIST);
if (rename(_path.c_str(), path.c_str()) != 0)
handleLastErrorImpl(_path);
}