bugfix in pgf_evaluate_expr_thunk

This commit is contained in:
kr.angelov
2014-09-30 17:34:29 +00:00
parent f5da57056c
commit 4e00834c68

View File

@@ -117,15 +117,15 @@ repeat:;
PgfExprThunk* lambda = gu_new(PgfExprThunk, state->pool); PgfExprThunk* lambda = gu_new(PgfExprThunk, state->pool);
lambda->header.code = state->eval_gates->evaluate_value_lambda; lambda->header.code = state->eval_gates->evaluate_value_lambda;
lambda->env = NULL; lambda->env = NULL;
res = lambda; res = &lambda->header;
if (n_args > 0) { if (n_args > 0) {
PgfValuePAP* val = gu_new_flex(state->pool, PgfValuePAP, args, n_args); PgfValuePAP* val = gu_new_flex(state->pool, PgfValuePAP, args, n_args);
val->header.code = state->eval_gates->evaluate_value_pap; val->header.code = state->eval_gates->evaluate_value_pap;
val->fun = &lambda->header; val->fun = &lambda->header;
size_t i = 0; val->n_args = n_args*sizeof(PgfClosure*);
while (i < n_args) { for (size_t i = 0; i < n_args; i++) {
val->args[i++] = args[--n_args]; val->args[i] = args[i];
} }
res = &val->header; res = &val->header;
} }