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