Annotation of 42BSD/ingres/source/iutil/newlino.c, revision 1.1

1.1     ! root        1: # include      <ingres.h>
        !             2: # include      <access.h>
        !             3: # include      <sccs.h>
        !             4: 
        !             5: SCCSID(@(#)newlino.c   7.1     2/5/81)
        !             6: 
        !             7: /*
        !             8: ** newlino finds a free line number which it returns and adjusts
        !             9: **     the next line counter (Nxtlino) by the length of the tuple (len).
        !            10: **     This routine is used to recover unused sections of the
        !            11: **     line number table (Acc_head->linetab).
        !            12: */
        !            13: 
        !            14: newlino(len)
        !            15: int    len;
        !            16: {
        !            17:        register int    newlno, nextlno;
        !            18:        register short  *lp;
        !            19: 
        !            20:        nextlno = Acc_head->nxtlino;
        !            21:        lp = &Acc_head->linetab[0];
        !            22:        for (newlno = 0; newlno < nextlno; newlno++)
        !            23:        {
        !            24:                if (*lp == 0)
        !            25:                {
        !            26:                        /* found a free line number */
        !            27:                        *lp = Acc_head->linetab[-nextlno];
        !            28:                        Acc_head->linetab[-nextlno] += len;
        !            29:                        return (newlno);
        !            30:                }
        !            31:                lp--;
        !            32:        }
        !            33: 
        !            34:        /* no free line numbers. use nxtlino */
        !            35:        Acc_head->linetab[-(nextlno + 1)] = *lp + len;
        !            36:        Acc_head->nxtlino++;
        !            37:        return (nextlno);
        !            38: }

unix.superglobalmegacorp.com

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