fileOperation: Corrected processor counting for moving mesh cases

This commit is contained in:
Henry Weller
2017-08-11 00:07:48 +01:00
committed by Andrew Heather
parent fdf08c401f
commit bed8dd4bc7
3 changed files with 33 additions and 8 deletions

View File

@ -884,6 +884,32 @@ bool Foam::cp(const fileName& src, const fileName& dest, const bool followLink)
return false;
}
char* realSrcPath = realpath(src.c_str(), nullptr);
char* realDestPath = realpath(destFile.c_str(), nullptr);
const bool samePath = strcmp(realSrcPath, realDestPath) == 0;
if (POSIX::debug && samePath)
{
InfoInFunction
<< "Attempt to copy " << realSrcPath << " to itself" << endl;
}
if (realSrcPath)
{
free(realSrcPath);
}
if (realDestPath)
{
free(realDestPath);
}
// Do not copy over self when src is actually a link to dest
if (samePath)
{
return false;
}
// Copy files
fileNameList contents = readDir(src, fileName::FILE, false, followLink);
forAll(contents, i)