| /* t1.c: main control and input switching */ | 
 | # | 
 | # include "t.h" | 
 |  | 
 | # define MACROS "/usr/lib/tmac.s" | 
 | # define PYMACS "/usr/lib/tmac.m" | 
 |  | 
 |  | 
 | # define ever (;;) | 
 |  | 
 | void | 
 | main(int argc, char *argv[]) | 
 | { | 
 | 	exits(tbl(argc, argv)? "error" : 0); | 
 | } | 
 |  | 
 |  | 
 | int | 
 | tbl(int argc, char *argv[]) | 
 | { | 
 | 	char	line[5120]; | 
 | 	/*int x;*/ | 
 | 	/*x=malloc((char *)0);	uncomment when allocation breaks*/ | 
 | 	Binit(&tabout, 1, OWRITE); | 
 | 	setinp(argc, argv); | 
 | 	while (gets1(line, sizeof(line))) { | 
 | 		Bprint(&tabout, "%s\n", line); | 
 | 		if (prefix(".TS", line)) | 
 | 			tableput(); | 
 | 	} | 
 | 	Bterm(tabin); | 
 | 	return(0); | 
 | } | 
 |  | 
 |  | 
 | int	sargc; | 
 | char	**sargv; | 
 |  | 
 | void | 
 | setinp(int argc, char **argv) | 
 | { | 
 | 	sargc = argc; | 
 | 	sargv = argv; | 
 | 	sargc--;  | 
 | 	sargv++; | 
 | 	if (sargc > 0) | 
 | 		swapin(); | 
 | 	else { | 
 | 		tabin = (Biobuf*)getcore(sizeof(Biobuf), 1); | 
 | 		Binit(tabin, 0, OREAD); | 
 | 	} | 
 | } | 
 |  | 
 |  | 
 | int | 
 | swapin(void) | 
 | { | 
 | 	char	*name; | 
 | 	while (sargc > 0 && **sargv == '-') { | 
 | 		if (match("-ms", *sargv)) { | 
 | 			*sargv = MACROS; | 
 | 			break; | 
 | 		} | 
 | 		if (match("-mm", *sargv)) { | 
 | 			*sargv = PYMACS; | 
 | 			break; | 
 | 		} | 
 | 		if (match("-TX", *sargv)) | 
 | 			pr1403 = 1; | 
 | 		if (match("-", *sargv)) | 
 | 			break; | 
 | 		sargc--;  | 
 | 		sargv++; | 
 | 	} | 
 | 	if (sargc <= 0)  | 
 | 		return(0); | 
 | 	/* file closing is done by GCOS troff preprocessor */ | 
 | 	if(tabin) | 
 | 		Bterm(tabin); | 
 | 	ifile = *sargv; | 
 | 	name = ifile; | 
 | 	if (match(ifile, "-")) { | 
 | 		tabin = (Biobuf*)getcore(sizeof(Biobuf), 1); | 
 | 		Binit(tabin, 0, OREAD); | 
 | 	} else | 
 | 		tabin = Bopen(ifile, OREAD); | 
 | 	iline = 1; | 
 | 	Bprint(&tabout, ".ds f. %s\n", ifile); | 
 | 	Bprint(&tabout, ".lf %d %s\n", iline, name); | 
 | 	if (tabin == 0) | 
 | 		error("Can't open file"); | 
 | 	sargc--; | 
 | 	sargv++; | 
 | 	return(1); | 
 | } |