diff --git a/src/OpenFOAM/primitives/strings/string/string.C b/src/OpenFOAM/primitives/strings/string/string.C index d7237ac160..5b9879c137 100644 --- a/src/OpenFOAM/primitives/strings/string/string.C +++ b/src/OpenFOAM/primitives/strings/string/string.C @@ -94,7 +94,7 @@ Foam::string& Foam::string::replaceAll // Expand all occurences of environment variables and initial tilde sequences -Foam::string& Foam::string::expand() +Foam::string& Foam::string::expand(const bool recurse) { size_type startEnvar = 0; @@ -140,6 +140,10 @@ Foam::string& Foam::string::expand() if (enVarString.size()) { + if (recurse) + { + enVarString.expand(); + } std::string::replace ( startEnvar, diff --git a/src/OpenFOAM/primitives/strings/string/string.H b/src/OpenFOAM/primitives/strings/string/string.H index 254ffbba0f..c808f64d9a 100644 --- a/src/OpenFOAM/primitives/strings/string/string.H +++ b/src/OpenFOAM/primitives/strings/string/string.H @@ -182,7 +182,7 @@ public: // // @sa // Foam::findEtcFile - string& expand(); + string& expand(const bool recurse=false); //- Remove repeated characters returning true if string changed bool removeRepeated(const char);