1*2156Seric # include	"stdio.h"
2*2156Seric # include	"../hdr/macros.h"
3*2156Seric 
4*2156Seric SCCSID(@(#)what.c	4.1);
5*2156Seric 
6*2156Seric char pattern[] "@(#)";
7*2156Seric char opattern[] "~|^`";
8*2156Seric 
9*2156Seric 
10*2156Seric main(argc,argv)
11*2156Seric int argc;
12*2156Seric register char **argv;
13*2156Seric {
14*2156Seric 	register int i;
15*2156Seric 	register FILE *iop;
16*2156Seric 
17*2156Seric 	if (argc < 2)
18*2156Seric 		dowhat(stdin);
19*2156Seric 	else
20*2156Seric 		for (i = 1; i < argc; i++) {
21*2156Seric 			if ((iop = fopen(argv[i],"r")) == NULL)
22*2156Seric 				fprintf(stderr,"can't open %s (26)\n",argv[i]);
23*2156Seric 			else {
24*2156Seric 				printf("%s:\n",argv[i]);
25*2156Seric 				dowhat(iop);
26*2156Seric 			}
27*2156Seric 		}
28*2156Seric }
29*2156Seric 
30*2156Seric 
31*2156Seric dowhat(iop)
32*2156Seric register FILE *iop;
33*2156Seric {
34*2156Seric 	register int c;
35*2156Seric 
36*2156Seric 	while ((c = getc(iop)) != EOF) {
37*2156Seric 		if (c == pattern[0])
38*2156Seric 			trypat(iop, &pattern[1]);
39*2156Seric 		else if (c == opattern[0])
40*2156Seric 			trypat(iop, &opattern[1]);
41*2156Seric 	}
42*2156Seric 	fclose(iop);
43*2156Seric }
44*2156Seric 
45*2156Seric 
46*2156Seric trypat(iop,pat)
47*2156Seric register FILE *iop;
48*2156Seric register char *pat;
49*2156Seric {
50*2156Seric 	register int c;
51*2156Seric 
52*2156Seric 	for (; *pat; pat++)
53*2156Seric 		if ((c = getc(iop)) != *pat)
54*2156Seric 			break;
55*2156Seric 	if (!*pat) {
56*2156Seric 		putchar('\t');
57*2156Seric 		while ((c = getc(iop)) != EOF && c && !any(c,"\">\n"))
58*2156Seric 			putchar(c);
59*2156Seric 		putchar('\n');
60*2156Seric 	}
61*2156Seric 	else if (c != EOF)
62*2156Seric 		ungetc(c, iop);
63*2156Seric }
64