summaryrefslogtreecommitdiff
path: root/src/modcontext.cc
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2013-05-22 03:04:22 (GMT)
committerMarius Kintel <marius@kintel.net>2013-05-22 03:04:22 (GMT)
commitef9d8a853be1a6d6ca48239fcc79106ba374ee21 (patch)
tree041fe3424e663a40986208e6829df5e955838e33 /src/modcontext.cc
parent470588b296aea880c84071ee53a23f055f9c5bf0 (diff)
parent71ab237aada8db602045063f0f1c6082ef06972a (diff)
Merge branch 'master' into issue304
Diffstat (limited to 'src/modcontext.cc')
-rw-r--r--src/modcontext.cc26
1 files changed, 0 insertions, 26 deletions
diff --git a/src/modcontext.cc b/src/modcontext.cc
index 44c2002..3879811 100644
--- a/src/modcontext.cc
+++ b/src/modcontext.cc
@@ -27,20 +27,6 @@ void ModuleContext::initializeModule(const class Module &module)
}
}
-class RecursionGuard
-{
-public:
- RecursionGuard(const ModuleContext &c, const std::string &name) : c(c), name(name) {
- c.recursioncount[name]++;
- }
- ~RecursionGuard() { if (--c.recursioncount[name] == 0) c.recursioncount.erase(name); }
- bool recursion_detected() const { return (c.recursioncount[name] > 100); }
-private:
- const ModuleContext &c;
- const std::string &name;
-};
-
-
/*!
Only used to initialize builtins for the top-level root context
*/
@@ -81,12 +67,6 @@ const AbstractModule *ModuleContext::findLocalModule(const std::string &name) co
Value ModuleContext::evaluate_function(const std::string &name, const EvalContext *evalctx) const
{
- RecursionGuard g(*this, name);
- if (g.recursion_detected()) {
- PRINTB("Recursion detected calling function '%s'", name);
- return Value();
- }
-
const AbstractFunction *foundf = findLocalFunction(name);
if (foundf) return foundf->evaluate(this, evalctx);
@@ -141,12 +121,6 @@ FileContext::FileContext(const class FileModule &module, const Context *parent)
Value FileContext::evaluate_function(const std::string &name, const EvalContext *evalctx) const
{
- RecursionGuard g(*this, name);
- if (g.recursion_detected()) {
- PRINTB("Recursion detected calling function '%s'", name);
- return Value();
- }
-
const AbstractFunction *foundf = findLocalFunction(name);
if (foundf) return foundf->evaluate(this, evalctx);
contact: Jan Huwald // Impressum