/* prototype filter program - line (actually record) oriented */ #include #define BUFSIZ 4096 char buffer[BUFSIZ]; main(argc,argv) char **argv; { char c1,c2; c1=argv[1][0]; c2=argv[1][1]; while (!feof(stdin)) {if (fgetss(buffer,BUFSIZ,stdin)!=NULL) {if (buffer[0]==c1 && buffer[1]==c2) {fputss(buffer,stdout); if (ferror(stdout)) {error("Can't write\n"); } ; } ; } else {if (ferror(stdin)) {error("Can't read\n"); } ; } ; } ; fflush(stdout); if (ferror(stdout)) {error("Can't flush\n"); } ; if (fclose(stdout)) {error("Can't close\n"); } ; }