diff options
| author | louis <louis.braun@gmx.de> | 2015-01-27 17:46:59 +0100 |
|---|---|---|
| committer | louis <louis.braun@gmx.de> | 2015-01-27 17:46:59 +0100 |
| commit | 4204e455324c854d5df2099aa3e6de38d6f1a89f (patch) | |
| tree | 0f2b001efb05360c8149d3bbedac813ea6474563 /libtemplate | |
| parent | c650dcacd89ed4ffd6cdc2aded92de70b40f181d (diff) | |
| parent | 8dea5a4778d904e7616da0028b4fa79711e717a0 (diff) | |
| download | vdr-plugin-skindesigner-4204e455324c854d5df2099aa3e6de38d6f1a89f.tar.gz vdr-plugin-skindesigner-4204e455324c854d5df2099aa3e6de38d6f1a89f.tar.bz2 | |
Merge branch 'master' into plugininterface
Diffstat (limited to 'libtemplate')
| -rw-r--r-- | libtemplate/globals.c | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/libtemplate/globals.c b/libtemplate/globals.c index 1ce7502..e09638b 100644 --- a/libtemplate/globals.c +++ b/libtemplate/globals.c @@ -73,12 +73,15 @@ void cGlobals::ReplaceIntVars(string &value) { stringstream sToken; sToken << "{" << it->first << "}"; string token = sToken.str(); - size_t foundToken = value.find(token); - if (foundToken != string::npos) { - stringstream st; - st << it->second; - value = value.replace(foundToken, token.size(), st.str()); - } + size_t foundToken = string::npos; + do { + foundToken = value.find(token); + if (foundToken != string::npos) { + stringstream st; + st << it->second; + value = value.replace(foundToken, token.size(), st.str()); + } + } while (foundToken != string::npos); } } @@ -107,18 +110,21 @@ void cGlobals::ReplaceDoubleVars(string &value) { stringstream sToken; sToken << "{" << it->first << "}"; string token = sToken.str(); - size_t foundToken = value.find(token); - if (foundToken != string::npos) { - stringstream st; - st << it->second; - string doubleVal = st.str(); - if (config.replaceDecPoint) { - if (doubleVal.find_first_of('.') != string::npos) { - std::replace( doubleVal.begin(), doubleVal.end(), '.', config.decPoint); + size_t foundToken = string::npos; + do { + foundToken = value.find(token); + if (foundToken != string::npos) { + stringstream st; + st << it->second; + string doubleVal = st.str(); + if (config.replaceDecPoint) { + if (doubleVal.find_first_of('.') != string::npos) { + std::replace( doubleVal.begin(), doubleVal.end(), '.', config.decPoint); + } } + value = value.replace(foundToken, token.size(), doubleVal); } - value = value.replace(foundToken, token.size(), doubleVal); - } + } while (foundToken != string::npos); } } |
