|
|
1.1 ! root 1: #include <stdio.h> ! 2: ! 3: /* ! 4: * see - a cat like program which prints like the ex "print" command. ! 5: * It always prints backspaces as "^H". ! 6: * ! 7: * Bill Joy UCB July 13, 1978 ! 8: * ! 9: */ ! 10: int noeol; ! 11: ! 12: main(argc, argv) ! 13: int argc; ! 14: char *argv[]; ! 15: { ! 16: register c; ! 17: char obuf[BUFSIZ]; ! 18: ! 19: setbuf(stdout, obuf); ! 20: argc--, argv++; ! 21: if (argc > 0 && argv[0][0] == '-') ! 22: noeol++, argc--, argv++; ! 23: do { ! 24: if (argc > 0) { ! 25: if (freopen(argv[0], "r", stdin) == 0) { ! 26: perror(argv[0]); ! 27: exit(1); ! 28: } ! 29: argc--, argv++; ! 30: } ! 31: for (;;) { ! 32: c = getchar(); ! 33: if (c == -1) ! 34: break; ! 35: c &= 0177; ! 36: if (c == 0177) ! 37: putchar('^'), c = '?'; ! 38: if (c == 033) ! 39: c = '$'; ! 40: if (c < ' ') ! 41: switch (c) { ! 42: ! 43: case '\n': ! 44: break; ! 45: ! 46: default: ! 47: putchar('^'); ! 48: c |= 0100; ! 49: } ! 50: if (c == '\n' && !noeol) ! 51: putchar('$'); ! 52: putchar(c); ! 53: if (c == '\n') ! 54: fflush(stdout); ! 55: } ! 56: } while (argc > 0); ! 57: exit(0); ! 58: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.