Поправљен баг који изазива СИГАБРТ када се сложена функција позове са неправилним бројем аргумената

This commit is contained in:
kappa 2019-10-23 17:23:48 +02:00
parent f8a4b9909a
commit 8e8759bf11

3
eval.c
View file

@ -209,7 +209,7 @@ apply:
return result; return result;
} }
object args = PROC_COMP_ARGS(procedure); object args = copyObject(PROC_COMP_ARGS(procedure));
env definitionEnv = PROC_COMP_ENV(procedure); env definitionEnv = PROC_COMP_ENV(procedure);
env procEnv; env procEnv;
@ -238,6 +238,7 @@ apply:
deleteObject(parameters); deleteObject(parameters);
SIGERR(argumentNumberError); SIGERR(argumentNumberError);
} }
deleteObject(args);
object *currentExprPointer = &PROC_COMP_BODY(procedure); object *currentExprPointer = &PROC_COMP_BODY(procedure);
object currentExpr; object currentExpr;