From ea8a1a670c8eb5a24f36e6c282ba34f32eeea5f1 Mon Sep 17 00:00:00 2001 From: Marius Kintel Date: Mon, 5 Sep 2011 16:25:13 +0200 Subject: bugfixes: Don't iterate over empty for loops, don't iterate over for loops with illegal values diff --git a/src/control.cc b/src/control.cc index 26458fb..01d7f03 100644 --- a/src/control.cc +++ b/src/control.cc @@ -79,11 +79,11 @@ void for_eval(AbstractNode &node, const ModuleInstantiation &inst, size_t l, for_eval(node, inst, l+1, call_argnames, call_argvalues, &c); } } - else { + else if (it_values.type != Value::UNDEFINED) { c.set_variable(it_name, it_values); for_eval(node, inst, l+1, call_argnames, call_argvalues, &c); } - } else { + } else if (l > 0) { std::vector evaluatednodes = inst.evaluateChildren(arg_context); node.children.insert(node.children.end(), evaluatednodes.begin(), evaluatednodes.end()); } -- cgit v0.10.1