From 283f4fab77fe20d5fba5bc97e848453e39fe3dd0 Mon Sep 17 00:00:00 2001 From: mattijs Date: Sun, 19 Dec 2010 18:30:52 +0000 Subject: [PATCH] ENH: string : recursive variable substitution --- src/OpenFOAM/primitives/strings/string/string.C | 6 +++++- src/OpenFOAM/primitives/strings/string/string.H | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) 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);