Fixed File on Unix to pass the Rename Tests

This commit is contained in:
KevDi 2019-11-18 18:24:36 +01:00
parent 8b4ef5f706
commit 6c662bfb4a
2 changed files with 10 additions and 0 deletions

View File

@ -384,6 +384,11 @@ void FileImpl::renameToImpl(const std::string& path, bool failOnOverwrite)
{
poco_assert (!_path.empty());
struct stat st;
if (stat(path.c_str(), &st) == 0)
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, bool failOnOverwrite)
{
poco_assert (!_path.empty());
struct stat st;
if (stat(path.c_str(), &st) == 0)
throw FileExistsException(path, EEXIST);
if (rename(_path.c_str(), path.c_str()) != 0)
handleLastErrorImpl(_path);
}