aboutsummaryrefslogtreecommitdiff
path: root/src/interpreter.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/interpreter.c')
-rw-r--r--src/interpreter.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/interpreter.c b/src/interpreter.c
index b04a293..6efebc3 100644
--- a/src/interpreter.c
+++ b/src/interpreter.c
@@ -69,9 +69,9 @@ static int interpret_proccall(IMP_InterpreterContext *context, const IMP_ASTNode
IMP_ASTNodeList *caller_val_args = node->data.proc_call.val_args;
IMP_ASTNodeList *callee_val_args = procdecl->data.proc_decl.val_args;
while (caller_val_args && callee_val_args) {
- const char *caller_arg_name = caller_val_args->node->data.variable.name;
+ int val = eval_aexpr(context, caller_val_args->node);
const char *callee_arg_name = callee_val_args->node->data.variable.name;
- imp_interpreter_context_var_set(proc_context, callee_arg_name, imp_interpreter_context_var_get(context, caller_arg_name));
+ imp_interpreter_context_var_set(proc_context, callee_arg_name, val);
caller_val_args = caller_val_args->next;
callee_val_args = callee_val_args->next;
}