summaryrefslogtreecommitdiff
path: root/glcdskin/string.c
diff options
context:
space:
mode:
Diffstat (limited to 'glcdskin/string.c')
-rw-r--r--glcdskin/string.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/glcdskin/string.c b/glcdskin/string.c
index a174964..bc3070d 100644
--- a/glcdskin/string.c
+++ b/glcdskin/string.c
@@ -274,6 +274,17 @@ cType cSkinString::Evaluate(void) const
pos = idxstart;
}
result_trans.append(result_raw.substr(pos));
+
+ // re-evaluate resulting string
+ if ((mText.size() > 0) && mText[0] != '#' && mObject != NULL ) {
+ cSkinFunction *result = new cSkinFunction(mObject);
+ if (result->Parse(result_trans)) {
+ std::string result_rescan = (std::string)result->Evaluate();
+ if (result_rescan != "")
+ result_trans = result_rescan;
+ }
+ delete result;
+ }
return result_trans;
}