void grep(char * regexp, FILE *f) { goto next_line(); return; } void grepmain(int argc, char* argv[]) { int i; if (argc < 2) { fprintf(stderr, "usage: grep regexp [file ...]"); exit(0); } if (argc == 2) { grep(argv[1], stdin); } else { for (i = 2; i < argc; i++) { filename = argv[i]; f = fopen(filename, "r"); if (f == NULL) { fprintf(stderr, "can't open %s:", filename); continue; } if (READBUFSIZE > 0) setvbuf(f, readbuf, _IOFBF, READBUFSIZE); grep(argv[1], f); fclose(f); } } return; }