/[cvs]/stack/stack.c
ViewVC logotype

Diff of /stack/stack.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.81 by masse, Thu Feb 14 19:20:28 2002 UTC revision 1.82 by masse, Thu Feb 14 19:49:48 2002 UTC
# Line 103  void free_val(value *val){ Line 103  void free_val(value *val){
103        break;        break;
104      case integer:      case integer:
105      case func:      case func:
106          break;
107      case symb:      case symb:
108          free(((symbol*)(val->content.ptr))->id);
109          if(((symbol*)(val->content.ptr))->val!=NULL)
110            free_val(((symbol*)(val->content.ptr))->val);
111          free(val->content.ptr);
112        break;        break;
113      }      }
     if(val->id!=NULL)  
       free(val->id);  
114      free(val);          /* Free the actual list value */      free(val);          /* Free the actual list value */
115    }    }
116  }  }
# Line 175  void push_int(environment *env, int in_v Line 178  void push_int(environment *env, int in_v
178    new_value->content.val= in_val;    new_value->content.val= in_val;
179    new_value->type= integer;    new_value->type= integer;
180    new_value->refcount= 1;    new_value->refcount= 1;
   new_value->id= NULL;  
181    
182    push_val(env, new_value);    push_val(env, new_value);
183  }  }
# Line 189  void push_cstring(environment *env, cons Line 191  void push_cstring(environment *env, cons
191    strcpy(new_value->content.ptr, in_string);    strcpy(new_value->content.ptr, in_string);
192    new_value->type= string;    new_value->type= string;
193    new_value->refcount= 1;    new_value->refcount= 1;
   new_value->id= NULL;  
194    
195    push_val(env, new_value);    push_val(env, new_value);
196  }  }

Legend:
Removed from v.1.81  
changed lines
  Added in v.1.82

root@recompile.se
ViewVC Help
Powered by ViewVC 1.1.26