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 8 char 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 14 static char sccsid[] = "@(#)what.c 5.1 (Berkeley) 05/31/85"; 15 #endif not lint 16 17 #include <stdio.h> 18 19 /* 20 * what 21 */ 22 23 char *infile = "Standard input"; 24 25 main(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); 44 exit(0); 45 } 46 47 find() 48 { 49 static char buf[BUFSIZ]; 50 register char *cp; 51 register int c, cc; 52 register char *pat; 53 54 contin: 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 } 67