From 563a0485ee0881ad747a7ff9d6c43544277ed594 Mon Sep 17 00:00:00 2001 From: louis Date: Thu, 30 Apr 2015 17:11:34 +0200 Subject: fixed bug that tokens in image pathes are not replaced correctly --- libtemplate/templatefunction.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'libtemplate/templatefunction.c') diff --git a/libtemplate/templatefunction.c b/libtemplate/templatefunction.c index c99fa37..e186621 100644 --- a/libtemplate/templatefunction.c +++ b/libtemplate/templatefunction.c @@ -1292,6 +1292,12 @@ void cTemplateFunction::ParseStringParameters(void) { for (map < string, string >::iterator it = stringTokens->begin(); it != stringTokens->end(); it++) { size_t found = path.find(it->first); if (found != string::npos) { + size_t posEndBracket = found + (it->first).size(); + if (posEndBracket < path.size()) { + string endChar = path.substr(posEndBracket, 1); + if (endChar.compare("}")) + continue; + } updated = true; imgPath = path; if (found > 0 && ((it->first).size() + 2 <= imgPath.size())) @@ -1302,6 +1308,12 @@ void cTemplateFunction::ParseStringParameters(void) { for (map < string, int >::iterator it = intTokens->begin(); it != intTokens->end(); it++) { size_t found = path.find(it->first); if (found != string::npos) { + size_t posEndBracket = found + (it->first).size(); + if (posEndBracket < path.size()) { + string endChar = path.substr(posEndBracket, 1); + if (endChar.compare("}")) + continue; + } updated = true; imgPath = path; if (found > 0 && ((it->first).size() + 2 <= imgPath.size())) { -- cgit v1.2.3