32598ab7d1f42fa08506fa95214ccf79beacadd3
[perl.git] / do / reverse
1 int
2 do_reverse(arglast)
3 int *arglast;
4 {
5     STR **st = stack->ary_array;
6     register STR **up = &st[arglast[1]];
7     register STR **down = &st[arglast[2]];
8     register int i = arglast[2] - arglast[1];
9
10     while (i-- > 0) {
11         *up++ = *down;
12         if (i-- > 0)
13             *down-- = *up;
14     }
15     i = arglast[2] - arglast[1];
16     Move(down+1,up,i/2,STR*);
17     return arglast[2] - 1;
18 }
19