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