summaryrefslogtreecommitdiff
path: root/uservars.c
diff options
context:
space:
mode:
Diffstat (limited to 'uservars.c')
-rw-r--r--uservars.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/uservars.c b/uservars.c
index dee0e33..2cdcc33 100644
--- a/uservars.c
+++ b/uservars.c
@@ -35,6 +35,9 @@ The project's page is at http://winni.vdr-developer.org/epgsearch
cUserVars UserVars;
string cPlugconfdirVar::dir = "";
+string cExtEPGVar::nameSpace = "epg";
+string cTimerVar::nameSpace = "timer";
+string cSearchVar::nameSpace = "search";
// cUserVar
@@ -210,13 +213,22 @@ string cUserVar::EvaluateExtEPGVars(const string& Expr, const cEvent* e, bool es
std::map<string, cExtEPGVar*>::iterator evar;
for (evar = UserVars.extEPGVars.begin(); evar != UserVars.extEPGVars.end(); ++evar)
{
- string varName = evar->second->Name();
+ // replace ext. EPG variables with leading namespace
+ string varName = evar->second->Name(true);
int varPos = 0;
while((varPos = FindIgnoreCase(expr, varName)) >= 0)
{
expr.replace(varPos, varName.size(), evar->second->Evaluate(e, escapeStrings));
usedVars.insert(evar->second);
}
+ // replace ext. EPG variables without leading namespace
+ varName = evar->second->Name();
+ varPos = 0;
+ while((varPos = FindIgnoreCase(expr, varName)) >= 0)
+ {
+ expr.replace(varPos, varName.size(), evar->second->Evaluate(e, escapeStrings));
+ usedVars.insert(evar->second);
+ }
}
return expr;
}