Annotation of researchv10no/ncurses/screen/_line_free.c, revision 1.1

1.1     ! root        1: /*     @(#) _line_free.c: 1.1 10/15/83 (1.9    10/27/82)       */
        !             2: 
        !             3: #include "curses.ext"
        !             4: 
        !             5: /* '_line_free' returns a line object to the free list */
        !             6: _line_free (p)
        !             7: register struct line   *p;
        !             8: {
        !             9:        register int i, sl, n=0;
        !            10:        register struct line **q;
        !            11: 
        !            12:        if (p == NULL)
        !            13:                return;
        !            14: #ifdef DEBUG
        !            15:        if(outf) fprintf(outf, "mem: Releaseline (%x), prev SP->freelist %x", p, SP->freelist);
        !            16: #endif
        !            17:        sl = lines;
        !            18:        for (i=sl,q = &SP->cur_body[sl]; i>0; i--,q--)
        !            19:                if (p == *q)
        !            20:                        n++;
        !            21:        for (i=sl,q = &SP->std_body[sl]; i>0; i--,q--)
        !            22:                if (p == *q)
        !            23:                        n++;
        !            24: #ifdef DEBUG
        !            25:        if(outf) fprintf(outf, ", count %d\n", n);
        !            26: #endif
        !            27:        if (n > 1)
        !            28:                return;
        !            29:        p -> next = SP->freelist;
        !            30:        p -> hash = -888;
        !            31:        SP->freelist = p;
        !            32: }

unix.superglobalmegacorp.com

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