-#ifndef VAX
-getblk(b)
-register b;
-{
- register struct buf *bp1;
- register char *tp;
-
-loop:
- for (bp1 = bufs; bp1 < &bufs[NB]; bp1++) {
- if (bp1->bno == b || bp1->bno == -1) {
- tp = bp1->block;
- while (bp1 > bufs) {
- bp1->bno = (bp1-1)->bno;
- bp1->block = (bp1-1)->block;
- bp1--;
- }
- bp1->bno = b;
- bp1->block = tp;
- return;
- }
- }
- zseek(fd, bufs[NB-1].bno);
- write(fd, bufs[NB-1].block, BSIZ);
- zseek(fd, b);
- read(fd, bufs[NB-1].block, BSIZ);
- bufs[NB-1].bno = b;
- goto loop;