|
|
1.1 ! root 1: #ifndef lint ! 2: static char sccsid[] = "@(#)tb.c 4.2 8/11/83"; ! 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: chspace() ! 44: { ! 45: char *pp; ! 46: if (spvecs[spcount]) ! 47: return(spvecs[spcount++]); ! 48: if (spcount>=MAXVEC) ! 49: error("Too many characters in table"); ! 50: spvecs[spcount++]= pp = calloc(MAXCHS+200,1); ! 51: if (pp== -1 || pp == 0) ! 52: error("no space for characters"); ! 53: return(pp); ! 54: } ! 55: # define MAXPC 50 ! 56: char *thisvec; ! 57: int tpcount = -1; ! 58: char *tpvecs[MAXPC]; ! 59: alocv(n) ! 60: { ! 61: int *tp, *q; ! 62: if (tpcount<0 || thisvec+n > tpvecs[tpcount]+MAXCHS) ! 63: { ! 64: tpcount++; ! 65: if (tpvecs[tpcount]==0) ! 66: { ! 67: tpvecs[tpcount] = calloc(MAXCHS,1); ! 68: } ! 69: thisvec = tpvecs[tpcount]; ! 70: if (thisvec == -1) ! 71: error("no space for vectors"); ! 72: } ! 73: tp=thisvec; ! 74: thisvec+=n; ! 75: for(q=tp; q<thisvec; q++) ! 76: *q=0; ! 77: return(tp); ! 78: } ! 79: release() ! 80: { ! 81: extern char *exstore; ! 82: /* give back unwanted space in some vectors */ ! 83: spcount=0; ! 84: tpcount= -1; ! 85: exstore=0; ! 86: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.