diff --git a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C index 26b33a8605e05be3128d14dde9fbedec4a9dec6d..1529ce78226be5784c6b4ab652873953fe32da5c 100644 --- a/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C +++ b/applications/utilities/mesh/generation/extrude/extrudeMesh/extrudeMesh.C @@ -358,8 +358,7 @@ int main(int argc, char *argv[]) if (Pstream::parRun()) { sourceCaseDir = - sourceCaseDir - /"processor" + Foam::name(Pstream::myProcNo()); + sourceCaseDir/("processor" + Foam::name(Pstream::myProcNo())); } wordList sourcePatches; dict.readEntry("sourcePatches", sourcePatches); diff --git a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C index e061325c846ef561f09a3e0bcc629344005f8411..d7354e91ac6f9e57fbe84ecc092ce63f077c50de 100644 --- a/applications/utilities/parallelProcessing/decomposePar/decomposePar.C +++ b/applications/utilities/parallelProcessing/decomposePar/decomposePar.C @@ -589,7 +589,7 @@ int main(int argc, char *argv[]) ( Time::controlDictName, args.rootPath(), - args.caseName()/fileName(word("processor") + name(proci)) + args.caseName()/("processor" + Foam::name(proci)) ); processorDb.setTime(runTime); @@ -1016,7 +1016,7 @@ int main(int argc, char *argv[]) Time::controlDictName, args.rootPath(), args.caseName() - /fileName(word("processor") + name(proci)) + / ("processor" + Foam::name(proci)) ) ); } @@ -1374,8 +1374,8 @@ int main(int argc, char *argv[]) ( Time::controlDictName, args.rootPath(), - args.caseName()/ - fileName(word("processor") + name(procI)) + args.caseName() + / ("processor" + Foam::name(procI)) ); processorDb.setTime(runTime); diff --git a/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.C b/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.C index 3576fd340446029a844f77b366cc022b87c91ada..1d34f53a5a4e2c8c6f4fb9abc6ceed46ce84c19d 100644 --- a/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.C +++ b/applications/utilities/parallelProcessing/decomposePar/domainDecomposition.C @@ -305,7 +305,7 @@ bool Foam::domainDecomposition::writeDecomposition(const bool decomposeSets) fileName processorCasePath ( - time().caseName()/fileName(word("processor") + Foam::name(proci)) + time().caseName()/("processor" + Foam::name(proci)) ); // create a database diff --git a/applications/utilities/parallelProcessing/decomposePar/faMeshDecomposition.C b/applications/utilities/parallelProcessing/decomposePar/faMeshDecomposition.C index a1296bd86e661c3fc62c61b987dba00b86471018..bcefd8c7c9e92155d5cacccb7d95b4909f092658 100644 --- a/applications/utilities/parallelProcessing/decomposePar/faMeshDecomposition.C +++ b/applications/utilities/parallelProcessing/decomposePar/faMeshDecomposition.C @@ -50,7 +50,7 @@ void Foam::faMeshDecomposition::distributeFaces() ( Time::controlDictName, time().rootPath(), - time().caseName()/fileName(word("processor") + Foam::name(procI)) + time().caseName()/("processor" + Foam::name(procI)) ); fvMesh procMesh @@ -250,7 +250,7 @@ void Foam::faMeshDecomposition::decomposeMesh() ( Time::controlDictName, time().rootPath(), - time().caseName()/fileName(word("processor") + Foam::name(procI)) + time().caseName()/("processor" + Foam::name(procI)) ); fvMesh procFvMesh @@ -1059,8 +1059,7 @@ void Foam::faMeshDecomposition::decomposeMesh() { fileName processorCasePath ( - time().caseName()/fileName(word("processor") - + Foam::name(procI)) + time().caseName()/("processor" + Foam::name(procI)) ); // create a database @@ -1179,7 +1178,7 @@ bool Foam::faMeshDecomposition::writeDecomposition() fileName processorCasePath ( - time().caseName()/fileName(word("processor") + Foam::name(procI)) + time().caseName()/("processor" + Foam::name(procI)) ); // create a database diff --git a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C index 37e179440d00b3ff42e65b71bd84ec6cfb3e18ec..6429453e7bfe75a7058fdf1630ef986d24e0d0f8 100644 --- a/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C +++ b/applications/utilities/parallelProcessing/reconstructPar/reconstructPar.C @@ -223,7 +223,7 @@ int main(int argc, char *argv[]) ( Time::controlDictName, args.rootPath(), - args.caseName()/fileName(word("processor") + name(proci)) + args.caseName()/("processor" + Foam::name(proci)) ) ); } diff --git a/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C b/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C index 5236940d408259643ee3aa008adae720611f2981..8bc73b9040e4b29212d499ccb04f8122be3930ce 100644 --- a/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C +++ b/applications/utilities/parallelProcessing/reconstructParMesh/reconstructParMesh.C @@ -550,7 +550,7 @@ int main(int argc, char *argv[]) forAll(databases, proci) { Info<< "Reading database " - << args.caseName()/fileName(word("processor") + name(proci)) + << args.caseName()/("processor" + Foam::name(proci)) << endl; databases.set @@ -560,7 +560,7 @@ int main(int argc, char *argv[]) ( Time::controlDictName, args.rootPath(), - args.caseName()/fileName(word("processor") + name(proci)) + args.caseName()/("processor" + Foam::name(proci)) ) ); } diff --git a/applications/utilities/postProcessing/miscellaneous/profilingSummary/profilingSummary.C b/applications/utilities/postProcessing/miscellaneous/profilingSummary/profilingSummary.C index 877bdf3de5b921db2651c2cb995b7927cfdb2004..920ba165a57e2f3e8217902eeed0e41831dc3b54 100644 --- a/applications/utilities/postProcessing/miscellaneous/profilingSummary/profilingSummary.C +++ b/applications/utilities/postProcessing/miscellaneous/profilingSummary/profilingSummary.C @@ -88,7 +88,7 @@ int main(int argc, char *argv[]) const label nProcs = fileHandler().nProcs(args.path()); #else label nProcs = 0; - while (isDir(args.path()/(word("processor") + name(nProcs)))) + while (isDir(args.path()/("processor" + Foam::name(nProcs)))) { ++nProcs; } @@ -106,7 +106,7 @@ int main(int argc, char *argv[]) ( Time::controlDictName, args.rootPath(), - args.caseName()/fileName(word("processor") + name(proci)) + args.caseName()/("processor" + Foam::name(proci)) ) ); } diff --git a/applications/utilities/preProcessing/mapFields/mapFields.C b/applications/utilities/preProcessing/mapFields/mapFields.C index d6fe3578544ede6ac67b1579b2491cd1550bf872..649e908d6a83138602fccf85ff2f9b92b903b56f 100644 --- a/applications/utilities/preProcessing/mapFields/mapFields.C +++ b/applications/utilities/preProcessing/mapFields/mapFields.C @@ -396,7 +396,7 @@ int main(int argc, char *argv[]) ( Time::controlDictName, rootDirSource, - caseDirSource/fileName(word("processor") + name(proci)) + caseDirSource/("processor" + Foam::name(proci)) ); #include "setTimeIndex.H" @@ -471,7 +471,7 @@ int main(int argc, char *argv[]) ( Time::controlDictName, rootDirTarget, - caseDirTarget/fileName(word("processor") + name(proci)) + caseDirTarget/("processor" + Foam::name(proci)) ); fvMesh meshTarget @@ -536,7 +536,7 @@ int main(int argc, char *argv[]) ( Time::controlDictName, rootDirSource, - caseDirSource/fileName(word("processor") + name(procISource)) + caseDirSource/("processor" + Foam::name(procISource)) ); #include "setTimeIndex.H" @@ -572,8 +572,7 @@ int main(int argc, char *argv[]) ( Time::controlDictName, rootDirTarget, - caseDirTarget/fileName(word("processor") - + name(procITarget)) + caseDirTarget/("processor" + Foam::name(procITarget)) ); fvMesh meshTarget diff --git a/src/OpenFOAM/global/argList/argList.C b/src/OpenFOAM/global/argList/argList.C index 467002727eebd7e5b539a013f3a52272531ccaf3..b2f0d979cc2d9bc663e76ce0dc13917b5560f660 100644 --- a/src/OpenFOAM/global/argList/argList.C +++ b/src/OpenFOAM/global/argList/argList.C @@ -1317,7 +1317,7 @@ void Foam::argList::parse isDir ( rootPath_/globalCase_ - / "processor" + Foam::name(++nProcDirs) + / ("processor" + Foam::name(++nProcDirs)) ) ) {} diff --git a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C index 18ff87a6cb66d69710a6a444aa5143377c4d58c9..13a28663c547ea70c4781dd82472982952d58e27 100644 --- a/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C +++ b/src/OpenFOAM/global/fileOperations/masterUncollatedFileOperation/masterUncollatedFileOperation.C @@ -367,8 +367,7 @@ Foam::fileOperations::masterUncollatedFileOperation::localObjectPath // Uncollated type, e.g. processor1 const word procName ( - "processor" - +Foam::name(Pstream::myProcNo(Pstream::worldComm)) + "processor" + Foam::name(Pstream::myProcNo(Pstream::worldComm)) ); return processorsPath diff --git a/src/OpenFOAM/primitives/strings/fileName/fileName.C b/src/OpenFOAM/primitives/strings/fileName/fileName.C index 83a6d0b70a6195b871e46dd67d9a92a48a71e75d..6fda7a5c8f5735357ff485f41638d4eed6fbed18 100644 --- a/src/OpenFOAM/primitives/strings/fileName/fileName.C +++ b/src/OpenFOAM/primitives/strings/fileName/fileName.C @@ -426,13 +426,17 @@ Foam::fileName& Foam::fileName::operator/=(const string& other) { // Two non-empty strings: can concatenate - s.append("/"); + if (s.back() != '/' && other.front() != '/') + { + s += '/'; + } + s.append(other); } } else if (other.size()) { - // Or, if the first string is empty + // The first string is empty s = other; } @@ -449,16 +453,23 @@ Foam::fileName Foam::operator/(const string& a, const string& b) if (b.size()) { // Two non-empty strings: can concatenate - return fileName(a + '/' + b); + + if (a.back() == '/' || b.front() == '/') + { + return fileName(a + b); + } + else + { + return fileName(a + '/' + b); + } } - return a; + return a; // The second string was empty } - // Or, if the first string is empty - if (b.size()) { + // The first string is empty return b; }