void plugh(struct rule *r, char *bfr, int size) { switch (r->action) { case FILTER: case FFILTER: filter_it(bfr, size, r); break; case PIPE: case FPIPE: pipe_it(bfr, size, r); break; case TEXT: case POSTSCRIPT: case CAT: cat_it(bfr, size, r); break; case REJECT: reject(filetype ? "can't print %s files" : "can't print this file", filetype); default: reject("internal processing error (r->action = %d)", r->action); } exit(1); }
int main(int argc,char **argv) { if(argc<2) cat_it(stdin); else { int i; FILE *fp; for(i=1;i<argc;i++) { if(!(fp=fopen(argv[i],"r"))) fprintf(stderr, "mycat: %s\n",argv[i]); else{ cat_it(fp); printf("\n"); fclose(fp); } } } return 0; }