|
|
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.