Annotation of 42BSD/usr.lib/libI77/endfile.c, revision 1.1.1.1

1.1       root        1: /*
                      2: char id_endfile[] = "@(#)endfile.c     1.7";
                      3:  *
                      4:  * endfile
                      5:  */
                      6: 
                      7: #include "fio.h"
                      8: 
                      9: static char    endf[]  = "endfile";
                     10: 
                     11: f_end (a)
                     12: alist  *a;
                     13: {
                     14:        unit    *b;
                     15: 
                     16:        lfname = NULL;
                     17:        elist = NO;
                     18:        errflag = a->aerr;
                     19:        lunit = a->aunit;
                     20:        if (not_legal(lunit))
                     21:                err (errflag, F_ERUNIT, endf)
                     22:        b = &units[lunit];
                     23:        if (!b->ufd)
                     24:                err (errflag, F_ERNOPEN, endf)
                     25:        if (b->uend)
                     26:                return(0);
                     27:        lfname = b->ufnm;
                     28:        b->uend = YES;
                     29:        return ( t_runc (b, errflag, endf) );
                     30: }
                     31: 
                     32: t_runc (b, flag, str)
                     33: unit   *b;
                     34: ioflag flag;
                     35: char   *str;
                     36: {
                     37:        long    loc;
                     38: 
                     39:        if (b->uwrt)
                     40:                fflush (b->ufd);
                     41:        if (b->url || !b->useek || !b->ufnm)
                     42:                return (OK);    /* don't truncate direct access files, etc. */
                     43:        loc = ftell (b->ufd);
                     44:        if (truncate (b->ufnm, loc) != 0)
                     45:                err (flag, errno, str)
                     46:        if (b->uwrt && ! nowreading(b))
                     47:                err (flag, errno, str)
                     48:        return (OK);
                     49: }

unix.superglobalmegacorp.com

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