summaryrefslogtreecommitdiff
path: root/uservars.c
diff options
context:
space:
mode:
authorChristian Wieninger <winni@debian.(none)>2007-11-28 19:39:36 +0100
committerChristian Wieninger <winni@debian.(none)>2007-11-28 19:39:36 +0100
commit6c107f1aeb1d4ce9ab59d0cf3e8619522497a408 (patch)
treedaab03d220fe45f7b6e41263985e369f84221474 /uservars.c
parentff8576b944fb68511c86491668eff76b10f6a7c5 (diff)
downloadvdr-plugin-epgsearch-6c107f1aeb1d4ce9ab59d0cf3e8619522497a408.tar.gz
vdr-plugin-epgsearch-6c107f1aeb1d4ce9ab59d0cf3e8619522497a408.tar.bz2
- speedup
Diffstat (limited to 'uservars.c')
-rw-r--r--uservars.c21
1 files changed, 12 insertions, 9 deletions
diff --git a/uservars.c b/uservars.c
index 4389e64..a55e558 100644
--- a/uservars.c
+++ b/uservars.c
@@ -40,8 +40,8 @@ cUserVar::cUserVar()
string cUserVar::Evaluate(const cEvent* e, bool escapeStrings)
{
- if (oldEvent && oldEvent == e && oldescapeStrings == escapeStrings)
- return oldResult;
+ if (oldEvent && oldEvent == e && oldescapeStrings == escapeStrings)
+ return oldResult;
usedVars.clear();
string result;
if (IsShellCmd())
@@ -100,22 +100,20 @@ string cUserVar::EvaluateCondExpr(const cEvent* e, bool escapeStrings)
if (condresult != "")
{
- LogFile.Log(3, "using case 'true'");
- return condVarTrue->Evaluate(e, escapeStrings);
+ LogFile.Log(3, "using case 'true'");
+ return condVarTrue->Evaluate(e, escapeStrings);
}
else
{
- LogFile.Log(3, "using case 'false'");
- return condVarFalse->Evaluate(e, escapeStrings);
+ LogFile.Log(3, "using case 'false'");
+ return condVarFalse->Evaluate(e, escapeStrings);
}
}
string cUserVar::EvaluateCompExpr(const cEvent* e, bool escapeStrings)
{
string expr = varparser.compExpr;
-
- string compExprLower = expr;
- std::transform(compExprLower.begin(), compExprLower.end(), compExprLower.begin(), tolower);
+ if (expr.find('%') == string::npos) return expr;
// handle internal vars like title and subtitle
expr = EvaluateInternalVars(expr, e, escapeStrings);
@@ -132,6 +130,7 @@ string cUserVar::EvaluateCompExpr(const cEvent* e, bool escapeStrings)
string cUserVar::EvaluateInternalVars(const string& Expr, const cEvent* e, bool escapeStrings)
{
string expr = Expr;
+ if (expr.find('%') == string::npos) return expr;
std::map<string, cInternalVar*>::iterator it;
for (it = UserVars.internalVars.begin(); it != UserVars.internalVars.end(); it++)
@@ -150,6 +149,7 @@ string cUserVar::EvaluateInternalVars(const string& Expr, const cEvent* e, bool
string cUserVar::EvaluateExtEPGVars(const string& Expr, const cEvent* e, bool escapeStrings)
{
string expr = Expr;
+ if (expr.find('%') == string::npos) return expr;
std::map<string, cExtEPGVar*>::iterator evar;
for (evar = UserVars.extEPGVars.begin(); evar != UserVars.extEPGVars.end(); evar++)
@@ -168,6 +168,7 @@ string cUserVar::EvaluateExtEPGVars(const string& Expr, const cEvent* e, bool es
string cUserVar::EvaluateUserVars(const string& Expr, const cEvent* e, bool escapeStrings)
{
string expr = Expr;
+ if (expr.find('%') == string::npos) return expr;
std::set<cUserVar*>::iterator it;
for (it = UserVars.userVars.begin(); it != UserVars.userVars.end(); it++)
@@ -186,6 +187,7 @@ string cUserVar::EvaluateUserVars(const string& Expr, const cEvent* e, bool esca
string cUserVar::EvaluateInternalTimerVars(const string& Expr, const cTimer* t)
{
string expr = Expr;
+ if (expr.find('%') == string::npos) return expr;
std::map<string, cTimerVar*>::iterator tvar;
for (tvar = UserVars.internalTimerVars.begin(); tvar != UserVars.internalTimerVars.end(); tvar++)
@@ -203,6 +205,7 @@ string cUserVar::EvaluateInternalTimerVars(const string& Expr, const cTimer* t)
string cUserVar::EvaluateInternalSearchVars(const string& Expr, const cSearchExt* s)
{
string expr = Expr;
+ if (expr.find('%') == string::npos) return expr;
std::map<string, cSearchVar*>::iterator svar;
for (svar = UserVars.internalSearchVars.begin(); svar != UserVars.internalSearchVars.end(); svar++)