diff options
| author | kr.angelov <kr.angelov@gmail.com> | 2014-09-30 17:34:29 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@gmail.com> | 2014-09-30 17:34:29 +0000 |
| commit | 4e00834c68f85fe23abb9877dd3a372f2a215038 (patch) | |
| tree | 49157e1c9fdb6e9d04510636028d4e09bf1cda1b | |
| parent | f5da57056c4c8b1ddfc51557ef5d8126ce37be7a (diff) | |
bugfix in pgf_evaluate_expr_thunk
| -rw-r--r-- | src/runtime/c/pgf/evaluator.c | 8 |
1 files 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; } |
