update on Sun stuff by Chris Torek
[unix-history] / usr / src / usr.bin / what / what.c
CommitLineData
f42904bc
DF
1/*
2 * Copyright (c) 1980, 1988 Regents of the University of California.
3 * All rights reserved. The Berkeley software License Agreement
4 * specifies the terms and conditions for redistribution.
5 */
6
7#ifndef lint
8char copyright[] =
9"@(#) Copyright (c) 1980, 1988 Regents of the University of California.\n\
10 All rights reserved.\n";
11#endif not lint
12
13#ifndef lint
14static char sccsid[] = "@(#)what.c 5.1 (Berkeley) %G%";
15#endif not lint
16
a479dbc0
BJ
17#include <stdio.h>
18
19/*
20 * what
21 */
22
23char *infile = "Standard input";
24
25main(argc, argv)
26 int argc;
27 char *argv[];
28{
29
30 argc--, argv++;
31 do {
32 if (argc > 0) {
33 if (freopen(argv[0], "r", stdin) == NULL) {
34 perror(argv[0]);
35 exit(1);
36 }
37 infile = argv[0];
38 printf("%s\n", infile);
39 argc--, argv++;
40 }
41 fseek(stdin, (long) 0, 0);
42 find();
43 } while (argc > 0);
a50ba3c1 44 exit(0);
a479dbc0
BJ
45}
46
47find()
48{
49 static char buf[BUFSIZ];
50 register char *cp;
51 register int c, cc;
52 register char *pat;
53
54contin:
55 while ((c = getchar()) != EOF)
56 if (c == '@') {
57 for (pat = "(#)"; *pat; pat++)
58 if ((c = getchar()) != *pat)
59 goto contin;
60 putchar('\t');
61 while ((c = getchar()) != EOF && c && c != '"' &&
62 c != '>' && c != '\n')
63 putchar(c);
64 putchar('\n');
65 }
66}