/* 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);
(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);
}
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;
delelement (elements);
(programs + n)->answer = answer;
(programs + n)->storage = storage;
- (programs + n)->storage_size = storage_size;
if (argument) {
free (argument);
}
/* restore context */
answer = tmp.answer;
storage = tmp.storage;
- storage_size = tmp.storage_size;
argument = tmp.argument;
argument_size = tmp.argument_size;
stack = tmp.stack;
/* clean program */
if ((programs + n)->storage) {
- free ((programs + n)->storage);
+ free_tab ((programs + n)->storage);
}
if ((programs + n)->stack) {
free_tab ((programs + n)->stack);