From dee64838f4c70632ae07fe33407544e9ccb54fa9 Mon Sep 17 00:00:00 2001 From: "kr.angelov" Date: Tue, 30 Sep 2014 17:34:29 +0000 Subject: [PATCH] bugfix in pgf_evaluate_expr_thunk --- src/runtime/c/pgf/evaluator.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/runtime/c/pgf/evaluator.c b/src/runtime/c/pgf/evaluator.c index 0dba15c3f..e5041adb0 100644 --- a/src/runtime/c/pgf/evaluator.c +++ b/src/runtime/c/pgf/evaluator.c @@ -117,15 +117,15 @@ repeat:; PgfExprThunk* lambda = gu_new(PgfExprThunk, state->pool); lambda->header.code = state->eval_gates->evaluate_value_lambda; lambda->env = NULL; - res = lambda; + res = &lambda->header; if (n_args > 0) { PgfValuePAP* val = gu_new_flex(state->pool, PgfValuePAP, args, n_args); val->header.code = state->eval_gates->evaluate_value_pap; val->fun = &lambda->header; - size_t i = 0; - while (i < n_args) { - val->args[i++] = args[--n_args]; + val->n_args = n_args*sizeof(PgfClosure*); + for (size_t i = 0; i < n_args; i++) { + val->args[i] = args[i]; } res = &val->header; }