|
|
1.1 root 1: /* Copyright (c) 1979 Regents of the University of California */
2:
3: static char sccsid[] = "@(#)RESET.c 1.1 10/29/80";
4:
5: #include "h00vars.h"
6: #include "h01errs.h"
7:
8: RESET(filep, name, maxnamlen, datasize)
9:
10: register struct iorec *filep;
11: char *name;
12: int maxnamlen;
13: int datasize;
14: {
15: if (name == NULL && filep == INPUT && filep->fname[0] == '\0') {
16: if (rewind(filep->fbuf)) {
17: ERROR(ESEEK, filep->pfname);
18: return;
19: }
20: filep->funit &= ~(EOFF | EOLN);
21: filep->funit |= SYNC;
22: return;
23: }
24: filep = GETNAME(filep, name, maxnamlen, datasize);
25: filep->fbuf = fopen(filep->fname, "r");
26: if (filep->fbuf == NULL) {
27: if (filep->funit & TEMP) {
28: filep->funit |= (EOFF | SYNC | FREAD);
29: return;
30: }
31: ERROR(EOPEN, filep->pfname);
32: return;
33: }
34: filep->funit |= (SYNC | FREAD);
35: if (filep->fblk > PREDEF) {
36: setbuf(filep->fbuf, &filep->buf[0]);
37: }
38: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.