|
|
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.