use tab_t for storage
[calc.git] / program.c
index c966617c00562beef7d02e191d963ddcb9ff4347..9bbf392f39b967df066a7ed69307e3ad86dd8271 100644 (file)
--- 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);