|
|
1.1 ! root 1: /* t1.c: main control and input switching */ ! 2: # ! 3: # include "t..c" ! 4: #include <signal.h> ! 5: # ifdef gcos ! 6: /* required by GCOS because file is passed to "tbl" by troff preprocessor */ ! 7: # define _f1 _f ! 8: extern FILE *_f[]; ! 9: # endif ! 10: ! 11: # ifdef unix ! 12: # define MACROS "/usr/lib/tmac.s" ! 13: # define PYMACS "/usr/lib/tmac.m" ! 14: # endif ! 15: ! 16: # ifdef gcos ! 17: # define MACROS "cc/troff/smac" ! 18: # define PYMACS "cc/troff/mmac" ! 19: # endif ! 20: ! 21: # define ever (;;) ! 22: ! 23: main(argc,argv) ! 24: char *argv[]; ! 25: { ! 26: # ifdef unix ! 27: int badsig(); ! 28: signal(SIGPIPE, badsig); ! 29: # endif ! 30: # ifdef gcos ! 31: if(!intss()) tabout = fopen("qq", "w"); /* default media code is type 5 */ ! 32: # endif ! 33: exit(tbl(argc,argv)); ! 34: } ! 35: ! 36: ! 37: tbl(argc,argv) ! 38: char *argv[]; ! 39: { ! 40: char line[512]; ! 41: /* required by GCOS because "stdout" is set by troff preprocessor */ ! 42: tabin=stdin; tabout=stdout; ! 43: setinp(argc,argv); ! 44: while (gets1(line)) ! 45: { ! 46: fprintf(tabout, "%s\n",line); ! 47: if (prefix(".TS", line)) ! 48: tableput(); ! 49: } ! 50: fclose(tabin); ! 51: return(0); ! 52: } ! 53: int sargc; ! 54: char **sargv; ! 55: setinp(argc,argv) ! 56: char **argv; ! 57: { ! 58: sargc = argc; ! 59: sargv = argv; ! 60: sargc--; sargv++; ! 61: if (sargc>0) ! 62: swapin(); ! 63: } ! 64: swapin() ! 65: { ! 66: while (sargc>0 && **sargv=='-') ! 67: { ! 68: if (match("-ms", *sargv)) ! 69: { ! 70: *sargv = MACROS; ! 71: break; ! 72: } ! 73: if (match("-mm", *sargv)) ! 74: { ! 75: *sargv = PYMACS; ! 76: break; ! 77: } ! 78: if (match("-TX", *sargv)) ! 79: pr1403=1; ! 80: if (match("-", *sargv)) ! 81: break; ! 82: sargc--; sargv++; ! 83: } ! 84: if (sargc<=0) return(0); ! 85: # ifdef unix ! 86: /* file closing is done by GCOS troff preprocessor */ ! 87: if (tabin!=stdin) fclose(tabin); ! 88: # endif ! 89: if (match(*sargv, "-")) ! 90: tabin=stdin; ! 91: else ! 92: tabin = fopen(ifile= *sargv, "r"); ! 93: iline=1; ! 94: # ifdef unix ! 95: /* file names are all put into f. by the GCOS troff preprocessor */ ! 96: fprintf(tabout, ".ds f. %s\n",ifile); ! 97: # endif ! 98: if (tabin==NULL) ! 99: error("Can't open file"); ! 100: sargc--; ! 101: sargv++; ! 102: return(1); ! 103: } ! 104: # ifdef unix ! 105: badsig() ! 106: { ! 107: signal(SIGPIPE, 1); ! 108: exit(0); ! 109: } ! 110: # endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.