| /* t9.c: write lines for tables over 200 lines */ |
| for (useln = 0; useln < MAXLIN && table[useln] == 0; useln++) |
| error("Wierd. No data in table."); |
| for (useln = nlin - 1; useln >= 0 && (fullbot[useln] || instead[useln]); useln--) |
| error("Wierd. No real lines in table."); |
| while (gets1(cstore = cspace, MAXCHS) && domore(cstore)) |
| if (prefix(".TE", dataln)) |
| if (dataln[0] == '.' && !isdigit((uchar)dataln[1])) { |
| Bprint(&tabout, "%s\n", dataln); |
| for (icol = 0; icol < ncol; icol++) { |
| table[0][icol].col = dataln; |
| for (; (ch = *dataln) != '\0' && ch != tab; dataln++) |
| switch (ctype(useln, icol)) { |
| table[0][icol].rcol = maknew(table[0][icol].col); |
| table[0][icol].rcol = table[0][icol].col; |
| while (ctype(useln, icol + 1) == 's') /* spanning */ |
| table[0][++icol].col = ""; |
| exstore = exspace; /* reuse space for numerical items */ |