Annotation of 43BSDTahoe/usr.bin/tbl/tb.c, revision 1.1

1.1     ! root        1: #ifndef lint
        !             2: static char sccsid[] = "@(#)tb.c       4.3 9/14/85";
        !             3: #endif
        !             4: 
        !             5:  /* tb.c: check which entries exist, also storage allocation */
        !             6: # include "t..c"
        !             7: checkuse()
        !             8: {
        !             9: int i,c, k;
        !            10: for(c=0; c<ncol; c++)
        !            11:        {
        !            12:        used[c]=lused[c]=rused[c]=0;
        !            13:        for(i=0; i<nlin; i++)
        !            14:                {
        !            15:                if (instead[i] || fullbot[i]) continue;
        !            16:                k = ctype(i,c);
        !            17:                if (k== '-' || k == '=') continue;
        !            18:                if ((k=='n'||k=='a'))
        !            19:                        {
        !            20:                        rused[c]|= real(table[i][c].rcol);
        !            21:                        if( !real(table[i][c].rcol))
        !            22:                        used[c] |= real(table[i][c].col);
        !            23:                        if (table[i][c].rcol)
        !            24:                        lused[c] |= real(table[i][c].col);
        !            25:                        }
        !            26:                else
        !            27:                        used[c] |= real(table[i][c].col);
        !            28:                }
        !            29:        }
        !            30: }
        !            31: real(s)
        !            32:        char *s;
        !            33: {
        !            34: if (s==0) return(0);
        !            35: if (!point(s)) return(1);
        !            36: if (*s==0) return(0);
        !            37: return(1);
        !            38: }
        !            39: int spcount = 0;
        !            40: extern char * calloc();
        !            41: # define MAXVEC 20
        !            42: char *spvecs[MAXVEC];
        !            43: 
        !            44: char *
        !            45: chspace()
        !            46: {
        !            47: char *pp;
        !            48: if (spvecs[spcount])
        !            49:        return(spvecs[spcount++]);
        !            50: if (spcount>=MAXVEC)
        !            51:        error("Too many characters in table");
        !            52: spvecs[spcount++]= pp = calloc(MAXCHS+200,1);
        !            53: if (pp== -1 || pp == 0)
        !            54:        error("no space for characters");
        !            55: return(pp);
        !            56: }
        !            57: # define MAXPC 50
        !            58: char *thisvec;
        !            59: int tpcount = -1;
        !            60: char *tpvecs[MAXPC];
        !            61: 
        !            62: int *
        !            63: alocv(n)
        !            64: {
        !            65: int *tp, *q;
        !            66: if (tpcount<0 || thisvec+n > tpvecs[tpcount]+MAXCHS)
        !            67:        {
        !            68:        tpcount++;
        !            69:        if (tpvecs[tpcount]==0)
        !            70:                {
        !            71:                tpvecs[tpcount] = calloc(MAXCHS,1);
        !            72:                }
        !            73:        thisvec = tpvecs[tpcount];
        !            74:        if (thisvec == -1)
        !            75:                error("no space for vectors");
        !            76:        }
        !            77: tp=thisvec;
        !            78: thisvec+=n;
        !            79: for(q=tp; q<thisvec; q++)
        !            80:        *q=0;
        !            81: return(tp);
        !            82: }
        !            83: release()
        !            84: {
        !            85: extern char *exstore;
        !            86: /* give back unwanted space in some vectors */
        !            87: spcount=0;
        !            88: tpcount= -1;
        !            89: exstore=0;
        !            90: }

unix.superglobalmegacorp.com

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