Applied, thank you
On Sat, Aug 21, 2021 at 3:04 PM Ron Yorston <[email protected]> wrote: > > Simplify the function print_literal() which is used to format a > string that may contain unprintable characters or control > characters. > > - Unprintable characters were being displayed in normal text rather > than the bold used for the rest of the message. This doesn't seem > particularly helpful and it upsets the calculation of the width > of the message in show_status_line(). Use '?' rather than '.' for > unprintable characters. > > - Newlines in the string were displayed as both '^J' and '$', which > is somewhat redundant. > > function old new delta > not_implemented 199 108 -91 > ------------------------------------------------------------------------------ > (add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-91) Total: -91 bytes > > Signed-off-by: Ron Yorston <[email protected]> > --- > editors/vi.c | 19 ++----------------- > 1 file changed, 2 insertions(+), 17 deletions(-) > > diff --git a/editors/vi.c b/editors/vi.c > index 126780175..9877fa19f 100644 > --- a/editors/vi.c > +++ b/editors/vi.c > @@ -1376,21 +1376,14 @@ static void print_literal(char *buf, const char *s) > char *d; > unsigned char c; > > - buf[0] = '\0'; > if (!s[0]) > s = "(NULL)"; > > d = buf; > for (; *s; s++) { > - int c_is_no_print; > - > c = *s; > - c_is_no_print = (c & 0x80) && !Isprint(c); > - if (c_is_no_print) { > - strcpy(d, ESC_NORM_TEXT); > - d += sizeof(ESC_NORM_TEXT)-1; > - c = '.'; > - } > + if ((c & 0x80) && !Isprint(c)) > + c = '?'; > if (c < ' ' || c == 0x7f) { > *d++ = '^'; > c |= '@'; // 0x40 > @@ -1399,14 +1392,6 @@ static void print_literal(char *buf, const char *s) > } > *d++ = c; > *d = '\0'; > - if (c_is_no_print) { > - strcpy(d, ESC_BOLD_TEXT); > - d += sizeof(ESC_BOLD_TEXT)-1; > - } > - if (*s == '\n') { > - *d++ = '$'; > - *d = '\0'; > - } > if (d - buf > MAX_INPUT_LEN - 10) // paranoia > break; > } > -- > 2.31.1 > > _______________________________________________ > busybox mailing list > [email protected] > http://lists.busybox.net/mailman/listinfo/busybox _______________________________________________ busybox mailing list [email protected] http://lists.busybox.net/mailman/listinfo/busybox
