--- stack/stack.c 2002/01/08 18:06:19 1.11 +++ stack/stack.c 2002/01/08 18:58:27 1.12 @@ -329,7 +329,8 @@ return; left= (*stack_head)->content.ptr; - right= (*stack_head)->next->content.ptr; + swap(stack_head); + right= (*stack_head)->content.ptr; result= (left==right); toss(stack_head); toss(stack_head); @@ -354,6 +355,23 @@ not(stack_head); } +extern void def(stackitem** stack_head) +{ + stackitem *temp, *value; + + if(*stack_head==NULL || (*stack_head)->next==NULL + || (*stack_head)->type!=ref) + return; + + temp= (*stack_head)->content.ptr; + value= (*stack_head)->next; + temp->content= value->content; + value->content.ptr=NULL; + temp->type= value->type; + + toss(stack_head); toss(stack_head); +} + extern void quit() { exit(EXIT_SUCCESS);