diff options
Diffstat (limited to 'toys/other/catv.c')
-rw-r--r-- | toys/other/catv.c | 82 |
1 files changed, 40 insertions, 42 deletions
diff --git a/toys/other/catv.c b/toys/other/catv.c index a0790a9b..62520c41 100644 --- a/toys/other/catv.c +++ b/toys/other/catv.c @@ -1,6 +1,4 @@ -/* vi: set sw=4 ts=4: - * - * cat -v implementation for toybox +/* cat -v implementation for toybox * * Copyright (C) 2006, 2007 Rob Landley <rob@landley.net> * @@ -10,17 +8,17 @@ USE_CATV(NEWTOY(catv, "vte", TOYFLAG_USR|TOYFLAG_BIN)) config CATV - bool "catv" - default y - help - usage: catv [-evt] [filename...] + bool "catv" + default y + help + usage: catv [-evt] [filename...] - Display nonprinting characters as escape sequences. Use M-x for - high ascii characters (>127), and ^x for other nonprinting chars. + Display nonprinting characters as escape sequences. Use M-x for + high ascii characters (>127), and ^x for other nonprinting chars. - -e Mark each newline with $ - -t Show tabs as ^I - -v Don't use ^x or M-x escapes. + -e Mark each newline with $ + -t Show tabs as ^I + -v Don't use ^x or M-x escapes. */ #define FOR_catv @@ -30,40 +28,40 @@ config CATV static void do_catv(int fd, char *name) { - for(;;) { - int i, len; + for(;;) { + int i, len; - len = read(fd, toybuf, sizeof(toybuf)); - if (len < 0) toys.exitval = EXIT_FAILURE; - if (len < 1) break; - for (i=0; i<len; i++) { - char c=toybuf[i]; + len = read(fd, toybuf, sizeof(toybuf)); + if (len < 0) toys.exitval = EXIT_FAILURE; + if (len < 1) break; + for (i=0; i<len; i++) { + char c=toybuf[i]; - if (c > 126 && (toys.optflags & FLAG_v)) { - if (c > 127) { - printf("M-"); - c -= 128; - } - if (c == 127) { - printf("^?"); - continue; - } - } - if (c < 32) { - if (c == 10) { - if (toys.optflags & FLAG_e) xputc('$'); - } else if (toys.optflags & (c==9 ? FLAG_t : FLAG_v)) { - printf("^%c", c+'@'); - continue; - } - } - xputc(c); - } - } + if (c > 126 && (toys.optflags & FLAG_v)) { + if (c > 127) { + printf("M-"); + c -= 128; + } + if (c == 127) { + printf("^?"); + continue; + } + } + if (c < 32) { + if (c == 10) { + if (toys.optflags & FLAG_e) xputc('$'); + } else if (toys.optflags & (c==9 ? FLAG_t : FLAG_v)) { + printf("^%c", c+'@'); + continue; + } + } + xputc(c); + } + } } void catv_main(void) { - toys.optflags ^= FLAG_v; - loopfiles(toys.optargs, do_catv); + toys.optflags ^= FLAG_v; + loopfiles(toys.optargs, do_catv); } |