|
|
1.1 ! root 1: #define FIO_IMP ! 2: #include "fio.h" ! 3: #include <libc.h> ! 4: ! 5: long ! 6: Fseek(fd, n, cmd) ! 7: long n; ! 8: { ! 9: register Fbuffer *f; ! 10: register long dest, k; ! 11: ! 12: FIOSET(f, fd); ! 13: dest = SEEK(fd, n, cmd); ! 14: if(dest < 0) ! 15: return(dest); ! 16: k = f->end-f->lnext; ! 17: if((dest >= f->offset) || (dest < f->offset-k)){ ! 18: FIORESET(f); ! 19: f->offset = dest; ! 20: } else { ! 21: f->next = f->lnext + (dest-(f->offset-k)); ! 22: SEEK(fd, f->offset, 0); ! 23: } ! 24: return(dest); ! 25: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.