|
|
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[BUFSIZ];
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=='-') /* Mem fault if no test on sargc */
67: {
68: if (sargc<=0) return(0);
69: if (match("-ms", *sargv))
70: {
71: *sargv = MACROS;
72: break;
73: }
74: if (match("-mm", *sargv))
75: {
76: *sargv = PYMACS;
77: break;
78: }
79: if (match("-TX", *sargv))
80: pr1403=1;
81: sargc--; sargv++;
82: }
83: if (sargc<=0) return(0);
84: # ifdef unix
85: /* file closing is done by GCOS troff preprocessor */
86: if (tabin!=stdin) fclose(tabin);
87: # endif
88: tabin = fopen(ifile= *sargv, "r");
89: iline=1;
90: # ifdef unix
91: /* file names are all put into f. by the GCOS troff preprocessor */
92: fprintf(tabout, ".ds f. %s\n",ifile);
93: # endif
94: if (tabin==NULL)
95: error("Can't open file");
96: sargc--;
97: sargv++;
98: return(1);
99: }
100: # ifdef unix
101: badsig()
102: {
103: signal(SIGPIPE, SIG_IGN);
104: exit(0);
105: }
106: # endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.