diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2007-12-30 04:59:53 +0300 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2007-12-30 04:59:53 +0300 |
commit | d3c042fc605737643c265a7f86fc7a77c88f629e (patch) | |
tree | a1850a3ca6493fb6409e8df0a24baf1331d325f6 /editors | |
parent | fcd878efcd6df8a8d052cef753305c34c1297267 (diff) |
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
Diffstat (limited to 'editors')
-rw-r--r-- | editors/ed.c | 16 | ||||
-rw-r--r-- | editors/vi.c | 2 |
2 files changed, 3 insertions, 15 deletions
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); diff --git a/editors/vi.c b/editors/vi.c index b6d4dcf0d..d8492fe74 100644 --- a/editors/vi.c +++ b/editors/vi.c @@ -899,7 +899,7 @@ static void colon(char *buf) if (c_is_no_print) { c = '.'; standout_start(); - } + } if (c == '\n') { write1("$\r"); } else if (c < ' ' || c == 127) { |