--- stack/stack.c 2002/02/14 19:20:28 1.81 +++ stack/stack.c 2002/02/14 19:49:48 1.82 @@ -103,11 +103,14 @@ break; case integer: case func: + break; case symb: + free(((symbol*)(val->content.ptr))->id); + if(((symbol*)(val->content.ptr))->val!=NULL) + free_val(((symbol*)(val->content.ptr))->val); + free(val->content.ptr); break; } - if(val->id!=NULL) - free(val->id); free(val); /* Free the actual list value */ } } @@ -175,7 +178,6 @@ new_value->content.val= in_val; new_value->type= integer; new_value->refcount= 1; - new_value->id= NULL; push_val(env, new_value); } @@ -189,7 +191,6 @@ strcpy(new_value->content.ptr, in_string); new_value->type= string; new_value->refcount= 1; - new_value->id= NULL; push_val(env, new_value); }