|
|
1.1 ! root 1: static char *sccsid = "@(#)rev.c 4.1 (Berkeley) 10/1/80"; ! 2: #include <stdio.h> ! 3: ! 4: /* reverse lines of a file */ ! 5: ! 6: #define N 256 ! 7: char line[N]; ! 8: FILE *input; ! 9: ! 10: main(argc,argv) ! 11: char **argv; ! 12: { ! 13: register i,c; ! 14: input = stdin; ! 15: do { ! 16: if(argc>1) { ! 17: if((input=fopen(argv[1],"r"))==NULL) { ! 18: fprintf(stderr,"rev: cannot open %s\n", ! 19: argv[1]); ! 20: exit(1); ! 21: } ! 22: } ! 23: for(;;){ ! 24: for(i=0;i<N;i++) { ! 25: line[i] = c = getc(input); ! 26: switch(c) { ! 27: case EOF: ! 28: goto eof; ! 29: default: ! 30: continue; ! 31: case '\n': ! 32: break; ! 33: } ! 34: break; ! 35: } ! 36: while(--i>=0) ! 37: putc(line[i],stdout); ! 38: putc('\n',stdout); ! 39: } ! 40: eof: ! 41: fclose(input); ! 42: argc--; ! 43: argv++; ! 44: } while(argc>1); ! 45: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.