From d3c042fc605737643c265a7f86fc7a77c88f629e Mon Sep 17 00:00:00 2001 From: Denis Vlasenko Date: Sun, 30 Dec 2007 01:59:53 +0000 Subject: libbb: introduce fputc_printable (from ed) netstat: print control chars as ^C etc vi: style fixlet function old new delta fputc_printable - 100 +100 unix_do_one 451 487 +36 printLines 258 190 -68 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 1/1 up/down: 136/-68) Total: 68 bytes --- editors/ed.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) (limited to 'editors/ed.c') diff --git a/editors/ed.c b/editors/ed.c index cceff0c40..a569788ad 100644 --- a/editors/ed.c +++ b/editors/ed.c @@ -847,20 +847,8 @@ static int printLines(int num1, int num2, int expandFlag) count--; while (count-- > 0) { - ch = *cp++; - if (ch & 0x80) { - fputs("M-", stdout); - ch &= 0x7f; - } - if (ch < ' ') { - bb_putchar('^'); - ch += '@'; - } - if (ch == 0x7f) { - bb_putchar('^'); - ch = '?'; - } - bb_putchar(ch); + ch = (unsigned char) *cp++; + fputc_printable(ch | PRINTABLE_META, stdout); } fputs("$\n", stdout); -- cgit v1.2.3