From 563a0485ee0881ad747a7ff9d6c43544277ed594 Mon Sep 17 00:00:00 2001 From: louis Date: Thu, 30 Apr 2015 17:11:34 +0200 Subject: [PATCH] fixed bug that tokens in image pathes are not replaced correctly --- HISTORY | 1 + libtemplate/templatefunction.c | 12 ++++++++++++ 2 files changed, 13 insertions(+) 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())) {