Blame


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