Annotation of 43BSD/usr.lib/libpc/DFDISPOSE.c, revision 1.1.1.1

1.1       root        1: /* Copyright (c) 1982 Regents of the University of California */
                      2: 
                      3: static char sccsid[] = "@(#)DFDISPOSE.c        4.2     (Berkeley)      1/21/83";
                      4: 
                      5: /*
                      6:  * Close all active files within a dynamic record,
                      7:  * then dispose of the record.
                      8:  */
                      9: 
                     10: #include "h00vars.h"
                     11: #include "libpc.h"
                     12: 
                     13: DFDISPOSE(var, size)
                     14:        char    **var;  /* pointer to pointer being deallocated */
                     15:        long    size;   /* sizeof(bletch) */
                     16: {
                     17:        register struct iorec   *next, *prev;
                     18:        struct iorec *start, *end;
                     19: 
                     20:        start = (struct iorec *)(*var);
                     21:        end = (struct iorec *)(*var + size);
                     22:        prev = (struct iorec *)(&_fchain);
                     23:        next = _fchain.fchain;
                     24:        while(next != FILNIL && (next->flev < GLVL || next < start)) {
                     25:                prev = next;
                     26:                next = next->fchain;
                     27:        }
                     28:        while(next != FILNIL && next < end)
                     29:                next = PFCLOSE(next, TRUE);
                     30:        prev->fchain = next;
                     31:        DISPOSE(var, size);
                     32: }

unix.superglobalmegacorp.com

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