summaryrefslogtreecommitdiff
path: root/src/control.cc
diff options
context:
space:
mode:
authorMarius Kintel <marius@kintel.net>2011-09-05 14:25:13 (GMT)
committerMarius Kintel <marius@kintel.net>2011-09-05 14:25:13 (GMT)
commitea8a1a670c8eb5a24f36e6c282ba34f32eeea5f1 (patch)
tree6c0312fa40292238082ddbbf84e8ca6c1675ba7a /src/control.cc
parent81f9c7b5178adf3e7acd670914b7e01c65a0c6b8 (diff)
bugfixes: Don't iterate over empty for loops, don't iterate over for loops with illegal values
Diffstat (limited to 'src/control.cc')
-rw-r--r--src/control.cc4
1 files changed, 2 insertions, 2 deletions
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<AbstractNode *> evaluatednodes = inst.evaluateChildren(arg_context);
node.children.insert(node.children.end(), evaluatednodes.begin(), evaluatednodes.end());
}
contact: Jan Huwald // Impressum