diff --git a/HISTORY b/HISTORY index 17f10c3..2a98146 100644 --- a/HISTORY +++ b/HISTORY @@ -304,5 +304,6 @@ Version 0.4.3 in displaychannel - added cardsystem name to ecm info - added correct menucategory for skin setups +- fixed bug that tokens in image pathes are not replaced correctly 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())) {