Blob


1 /* t1.c: main control and input switching */
2 #
3 # include "t.h"
5 # define MACROS "/usr/lib/tmac.s"
6 # define PYMACS "/usr/lib/tmac.m"
9 # define ever (;;)
11 int
12 main(int argc, char *argv[])
13 {
14 tabin = stdin;
15 tabout = stdout;
17 if(tbl(argc, argv)){
18 fprintf(stderr, "error");
19 return 1;
20 }
21 return 0;
22 }
25 int
26 tbl(int argc, char *argv[])
27 {
28 char line[5120];
29 /*int x;*/
30 /*x=malloc((char *)0); uncomment when allocation breaks*/
31 /*Binit(&tabout, 1, OWRITE); /* tabout=stdout */
32 setinp(argc, argv);
33 while (gets1(line, sizeof(line))) {
34 fprintf(tabout, "%s\n", line);
35 if (prefix(".TS", line))
36 tableput();
37 }
38 fclose(tabin);
39 return(0);
40 }
43 int sargc;
44 char **sargv;
46 void
47 setinp(int argc, char **argv)
48 {
49 sargc = argc;
50 sargv = argv;
51 sargc--;
52 sargv++;
53 if (sargc > 0)
54 swapin();
55 else
56 tabin = stdin;
57 }
60 int
61 swapin(void)
62 {
63 char *name;
64 while (sargc > 0 && **sargv == '-') {
65 if (match("-ms", *sargv)) {
66 *sargv = MACROS;
67 break;
68 }
69 if (match("-mm", *sargv)) {
70 *sargv = PYMACS;
71 break;
72 }
73 if (match("-TX", *sargv))
74 pr1403 = 1;
75 if (match("-", *sargv))
76 break;
77 sargc--;
78 sargv++;
79 }
80 if (sargc <= 0)
81 return(0);
82 /* file closing is done by GCOS troff preprocessor */
83 if(tabin)
84 fclose(tabin);
85 ifile = *sargv;
86 name = ifile;
87 if (match(ifile, "-")) {
88 tabin = stdin;
89 } else
90 tabin = fopen(ifile, "r");
91 iline = 1;
92 fprintf(tabout, ".ds f. %s\n", ifile);
93 fprintf(tabout, ".lf %d %s\n", iline, name);
94 if (tabin == 0)
95 error("Can't open file");
96 sargc--;
97 sargv++;
98 return(1);
99 }