|
|
1.1 root 1: /* cfillbuf.c 1.6 83/05/13 */
2:
3: #include <stdio.h>
4: #include "cpmio.h"
5: #include "cpmfio.h"
6:
7: c_fillbuf(fptr)
8: register C_FILE *fptr;
9: {
10:
11: int getnext(), nsect;
12:
13: if (++fptr->c_blk == 16)
14: if (fptr->c_dirp->blkcnt == (char) 0x80) {
15: /* find next extent (if it exists) */
16: if (getnext(fptr) == NULL)
17: return (EOF);
18: }
19: else
20: return (EOF);
21: nsect = (fptr->c_seccnt>blksiz/seclth) ? blksiz/seclth : fptr->c_seccnt;
22: if (nsect == 0)
23: return (EOF);
24: fptr->c_seccnt -= nsect;
25: if (getblock(0xff & ((int)fptr->c_dirp->pointers[fptr->c_blk]),
26: fptr->c_base, nsect) == EOF)
27: return (EOF);
28: fptr->c_buf = fptr->c_base;
29: fptr->c_cnt = nsect*seclth -1;
30: return (*fptr->c_buf++&0xff);
31: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.