mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-23 11:42:49 -06:00
bugfix in pgf_evaluate_expr_thunk
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user