531 |
|
|
532 |
/* Reverse (flip) a list */ |
/* Reverse (flip) a list */ |
533 |
extern void rev(environment *env){ |
extern void rev(environment *env){ |
534 |
stackitem *old_head, *new_head, *item; |
stackitem *item, *temp, *prev= NULL; |
535 |
|
|
536 |
if((env->head)==NULL) { |
if((env->head)==NULL) { |
537 |
printerr("Too Few Arguments"); |
printerr("Too Few Arguments"); |
545 |
return; |
return; |
546 |
} |
} |
547 |
|
|
548 |
old_head=(stackitem *)(env->head->item->content.ptr); |
item= (stackitem *)(env->head->item->content.ptr); |
549 |
new_head=NULL; |
while(item->next!=NULL){ |
550 |
while(old_head != NULL){ |
temp= item->next; |
551 |
item=old_head; |
item->next= prev; |
552 |
old_head=old_head->next; |
prev= item; |
553 |
item->next=new_head; |
item= temp; |
|
new_head=item; |
|
554 |
} |
} |
555 |
env->head->item->content.ptr=new_head; |
item->next= prev; |
556 |
|
|
557 |
|
env->head->item->content.ptr=item; |
558 |
} |
} |
559 |
|
|
560 |
/* Make a list. */ |
/* Make a list. */ |