|
|
1.1 ! root 1: /* t9.c: write lines for tables over 200 lines */ ! 2: # include "t..c" ! 3: static useln; ! 4: yetmore() ! 5: { ! 6: for(useln=0; useln<MAXLIN && table[useln]==0; useln++); ! 7: if (useln>=MAXLIN) ! 8: error("Wierd. No data in table."); ! 9: table[0]=table[useln]; ! 10: for(useln=nlin-1; useln>=0 && (fullbot[useln] || instead[useln]); useln--); ! 11: if (useln<0) ! 12: error("Wierd. No real lines in table."); ! 13: domore(leftover); ! 14: while (gets1(cstore=cspace) && domore(cstore)) ! 15: ; ! 16: last =cstore; ! 17: return; ! 18: } ! 19: domore(dataln) ! 20: char *dataln; ! 21: { ! 22: int icol, ch; ! 23: if (prefix(".TE", dataln)) ! 24: return(0); ! 25: if (dataln[0] == '.' && !isdigit(dataln[1])) ! 26: { ! 27: puts(dataln); ! 28: return(1); ! 29: } ! 30: instead[0]=fullbot[0]=0; ! 31: if (dataln[1]==0) ! 32: switch(dataln[0]) ! 33: { ! 34: case '_': fullbot[0]= '-'; putline(useln,0); return(1); ! 35: case '=': fullbot[0]= '='; putline(useln, 0); return(1); ! 36: } ! 37: for (icol = 0; icol <ncol; icol++) ! 38: { ! 39: table[0][icol].col = dataln; ! 40: table[0][icol].rcol=0; ! 41: for(; (ch= *dataln) != '\0' && ch != tab; dataln++) ! 42: ; ! 43: *dataln++ = '\0'; ! 44: switch(ctype(useln,icol)) ! 45: { ! 46: case 'n': ! 47: table[0][icol].rcol = maknew(table[0][icol].col); ! 48: break; ! 49: case 'a': ! 50: table[0][icol].rcol = table[0][icol].col; ! 51: table[0][icol].col= ""; ! 52: break; ! 53: } ! 54: while (ctype(useln,icol+1)== 's') /* spanning */ ! 55: table[0][++icol].col = ""; ! 56: if (ch == '\0') break; ! 57: } ! 58: while (++icol <ncol) ! 59: table[0][icol].col = ""; ! 60: putline(useln,0); ! 61: return(1); ! 62: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.