Skip to content

Instantly share code, notes, and snippets.

Created December 14, 2013 11:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/7958248 to your computer and use it in GitHub Desktop.
Save anonymous/7958248 to your computer and use it in GitHub Desktop.
diff --git a/src/nodemetadata.h b/src/nodemetadata.h
index ce2c9e6..cf23dd9 100644
--- a/src/nodemetadata.h
+++ b/src/nodemetadata.h
@@ -55,7 +55,7 @@ class NodeMetadata
i = m_stringvars.find(name);
if(i == m_stringvars.end())
return "";
- return resolveString(i->second);
+ return i->second;
}
void setString(const std::string &name, const std::string &var)
{
@@ -68,7 +68,14 @@ class NodeMetadata
std::string resolveString(const std::string &str) const
{
if(str.substr(0,2) == "${" && str[str.length()-1] == '}')
- return resolveString(getString(str.substr(2,str.length()-3)));
+ {
+ std::string next_string = getString(str.substr(2,str.length()-3));
+
+ if (next_string != str)
+ {
+ return resolveString(next_string);
+ }
+ }
return str;
}
std::map<std::string, std::string> getStrings() const
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment