153 |
/* Remove content */ |
/* Remove content */ |
154 |
switch(env->gc_ref->item->type){ |
switch(env->gc_ref->item->type){ |
155 |
case string: |
case string: |
156 |
free(env->gc_ref->item->content.ptr); |
free(env->gc_ref->item->content.string); |
157 |
break; |
break; |
158 |
case tcons: |
case tcons: |
159 |
free(env->gc_ref->item->content.c); |
free(env->gc_ref->item->content.c); |
379 |
|
|
380 |
/* Look up the symbol name in the hash table */ |
/* Look up the symbol name in the hash table */ |
381 |
new_symbol= hash(env->symbols, in_string); |
new_symbol= hash(env->symbols, in_string); |
382 |
new_value->content.ptr= *new_symbol; |
new_value->content.sym= *new_symbol; |
383 |
|
|
384 |
if(*new_symbol==NULL) { /* If symbol was undefined */ |
if(*new_symbol==NULL) { /* If symbol was undefined */ |
385 |
|
|
393 |
strcpy((*new_symbol)->id, in_string); |
strcpy((*new_symbol)->id, in_string); |
394 |
|
|
395 |
/* Intern the new symbol in the hash table */ |
/* Intern the new symbol in the hash table */ |
396 |
new_value->content.ptr= *new_symbol; |
new_value->content.sym= *new_symbol; |
397 |
|
|
398 |
/* Try to load the symbol name as an external function, to see if |
/* Try to load the symbol name as an external function, to see if |
399 |
we should bind the symbol to a new function pointer value */ |
we should bind the symbol to a new function pointer value */ |