46 std::string
ret, startKeyword, endKeyword;
54 startKeyword =
"$ENV{";
56 bool badSymbol =
ret.find(
"$") != std::string::npos;
57 s =
ret.find(startKeyword);
58 e =
ret.find(endKeyword, s);
60 if(s != std::string::npos && e != std::string::npos)
62 std::string envName, envValue;
64 envName =
ret.substr(s + startKeyword.size(), e - s -startKeyword.size());
66 ret =
ret.substr(0, s)+ envValue +
ret.substr(e + endKeyword.size(),
ret.size() - endKeyword.size());
73 s =
ret.find(startKeyword);
74 e =
ret.find(endKeyword, s);
76 if(s != std::string::npos && e != std::string::npos)
78 std::string envName, envValue;
80 envName =
ret.substr(s + startKeyword.size(), e - s -startKeyword.size());
81 envValue = variables[envName];
82 ret =
ret.substr(0, s)+ envValue +
ret.substr(e + endKeyword.size(),
ret.size() - endKeyword.size());
88 war <<
"use of symbol '$' detected but no keyword understood.. possible use: ${foo} for internal variable or $ENV{foo} for environment variable";