1*1452Sroot static char *sccsid = "@(#)what.c 4.1 (Berkeley) 10/16/80"; 2*1452Sroot #include <stdio.h> 3*1452Sroot 4*1452Sroot /* 5*1452Sroot * what 6*1452Sroot */ 7*1452Sroot 8*1452Sroot char *infile = "Standard input"; 9*1452Sroot 10*1452Sroot main(argc, argv) 11*1452Sroot int argc; 12*1452Sroot char *argv[]; 13*1452Sroot { 14*1452Sroot 15*1452Sroot argc--, argv++; 16*1452Sroot do { 17*1452Sroot if (argc > 0) { 18*1452Sroot if (freopen(argv[0], "r", stdin) == NULL) { 19*1452Sroot perror(argv[0]); 20*1452Sroot exit(1); 21*1452Sroot } 22*1452Sroot infile = argv[0]; 23*1452Sroot printf("%s\n", infile); 24*1452Sroot argc--, argv++; 25*1452Sroot } 26*1452Sroot fseek(stdin, (long) 0, 0); 27*1452Sroot find(); 28*1452Sroot } while (argc > 0); 29*1452Sroot } 30*1452Sroot 31*1452Sroot find() 32*1452Sroot { 33*1452Sroot static char buf[BUFSIZ]; 34*1452Sroot register char *cp; 35*1452Sroot register int c, cc; 36*1452Sroot register char *pat; 37*1452Sroot 38*1452Sroot contin: 39*1452Sroot while ((c = getchar()) != EOF) 40*1452Sroot if (c == '@') { 41*1452Sroot for (pat = "(#)"; *pat; pat++) 42*1452Sroot if ((c = getchar()) != *pat) 43*1452Sroot goto contin; 44*1452Sroot putchar('\t'); 45*1452Sroot while ((c = getchar()) != EOF && c && c != '"' && 46*1452Sroot c != '>' && c != '\n') 47*1452Sroot putchar(c); 48*1452Sroot putchar('\n'); 49*1452Sroot } 50*1452Sroot } 51