Annotation of 40BSD/lib/libpc/RESET.c, revision 1.1

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: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.