X-Git-Url: https://secure.softndesign.org/git/?a=blobdiff_plain;f=program.c;fp=program.c;h=9bbf392f39b967df066a7ed69307e3ad86dd8271;hb=893638e2b94ab197b883c748a0f6044ca78b2072;hp=c966617c00562beef7d02e191d963ddcb9ff4347;hpb=16a13cbfff44a996b8355cab6fdfee3fae75458d;p=calc.git diff --git a/program.c b/program.c index c966617..9bbf392 100644 --- a/program.c +++ b/program.c @@ -53,7 +53,7 @@ void prog (int id, element_t *root) /* clean old program */ if ((programs + n)->storage) { - free ((programs + n)->storage); + free_tab ((programs + n)->storage); } if ((programs + n)->stack) { free_tab ((programs + n)->stack); @@ -72,7 +72,6 @@ void prog (int id, element_t *root) (programs + n)->id = id; (programs + n)->answer = 0; (programs + n)->storage = NULL; - (programs + n)->storage_size = 0; (programs + n)->stack = NULL; (programs + n)->root = dupelement (root); } @@ -114,13 +113,11 @@ double call (int id, int nbargs, element_t **args) tmp.argument = argument; tmp.argument_size = argument_size; tmp.storage = storage; - tmp.storage_size = storage_size; tmp.stack = stack; /* change context */ answer = 0; storage = (programs + n)->storage; - storage_size = (programs + n)->storage_size; argument = NULL; argument_size = 0; stack = (programs + n)->stack; @@ -140,7 +137,6 @@ double call (int id, int nbargs, element_t **args) delelement (elements); (programs + n)->answer = answer; (programs + n)->storage = storage; - (programs + n)->storage_size = storage_size; if (argument) { free (argument); } @@ -149,7 +145,6 @@ double call (int id, int nbargs, element_t **args) /* restore context */ answer = tmp.answer; storage = tmp.storage; - storage_size = tmp.storage_size; argument = tmp.argument; argument_size = tmp.argument_size; stack = tmp.stack; @@ -240,7 +235,7 @@ void del (int id) /* clean program */ if ((programs + n)->storage) { - free ((programs + n)->storage); + free_tab ((programs + n)->storage); } if ((programs + n)->stack) { free_tab ((programs + n)->stack);