--- stack/stack.c 2002/03/12 14:06:05 1.104 +++ stack/stack.c 2002/03/12 14:53:19 1.105 @@ -467,7 +467,7 @@ printf("\"%s\"", (char*)CAR(stack_head)->content.ptr); break; case symb: - printf("%s", ((symbol *)(CAR(stack_head)->content.ptr))->id); + printf("%s", CAR(stack_head)->content.sym->id); break; case func: printf("#", (funcp)(CAR(stack_head)->content.ptr)); @@ -594,7 +594,7 @@ return; } - val= ((symbol *)(CAR(env->head)->content.ptr))->val; + val= CAR(env->head)->content.sym->val; if(val == NULL){ printerr("Unbound Variable"); env->err= 3; @@ -655,7 +655,7 @@ push_val(env, CAR(iterator)); if(CAR(env->head)->type==symb - && (((symbol*)(CAR(env->head)->content.ptr))->id[0]==';')) { + && CAR(env->head)->content.sym->id[0]==';') { toss(env); if(env->err) return; @@ -717,14 +717,14 @@ iterator= env->head; if(iterator==NULL || (CAR(iterator)->type==symb - && ((symbol*)(CAR(iterator)->content.ptr))->id[0]=='[')) { + && CAR(iterator)->content.sym->id[0]=='[')) { temp= NULL; toss(env); } else { /* Search for first delimiter */ while(CDR(iterator)!=NULL && (CAR(CDR(iterator))->type!=symb - || ((symbol*)(CAR(CDR(iterator))->content.ptr))->id[0]!='[')) + || CAR(CDR(iterator))->content.sym->id[0]!='[')) iterator= CDR(iterator); /* Extract list */ @@ -940,7 +940,7 @@ return; } - sym_id= ((symbol*)(CAR(stack_head)->content.ptr))->id; + sym_id= CAR(stack_head)->content.sym->id; toss(env); return forget_sym(hash(env->symbols, sym_id)); @@ -989,7 +989,7 @@ } if(myenv.interactive) { - printf("Stack version $Revision: 1.104 $\n\ + printf("Stack version $Revision: 1.105 $\n\ Copyright (C) 2002 Mats Alritzson and Teddy Hogeborn\n\ Stack comes with ABSOLUTELY NO WARRANTY; for details type `warranty;'.\n\ This is free software, and you are welcome to redistribute it\n\ @@ -1013,7 +1013,7 @@ return EXIT_SUCCESS; /* EOF */ } else if(myenv.head!=NULL && CAR(myenv.head)->type==symb - && ((symbol*)(CAR(myenv.head)->content.ptr))->id[0] + && CAR(myenv.head)->content.sym->id[0] ==';') { toss(&myenv); /* No error check in main */ eval(&myenv); @@ -1488,7 +1488,7 @@ push_val(env, CAR(iterator)); push_val(env, loop); eval(env); if(env->err) return; - if (CDR(iterator)->type == tcons){ + if (iterator->type == tcons){ iterator= CDR(iterator); } else { printerr("Bad Argument Type"); /* Improper list */ @@ -1537,15 +1537,14 @@ if(iterator==NULL || (CAR(iterator)->type==symb - && ((symbol*)(CAR(iterator)->content.ptr))->id[0]=='[')) { + && CAR(iterator)->content.sym->id[0]=='[')) { temp= NULL; toss(env); } else { /* Search for first delimiter */ - while(CDR(iterator)!=NULL + while(CDR(iterator)!=NULL && (CAR(CDR(iterator))->type!=symb - || ((symbol*)(CAR(CDR(iterator))->content.ptr))->id[0] - !='[')) + || CAR(CDR(iterator))->content.sym->id[0]!='[')) iterator= CDR(iterator); /* Extract list */