From 2ba65f379d2c57b87700192b37a0451a3820594e Mon Sep 17 00:00:00 2001 From: Vaclav Dolezal Date: Thu, 21 Dec 2017 15:23:56 +0100 Subject: lib/mbsalign: escape "\x" when HAVE_WIDECHAR not defined Signed-off-by: Vaclav Dolezal --- lib/mbsalign.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/mbsalign.c b/lib/mbsalign.c index 07fc313b8..3959d46dd 100644 --- a/lib/mbsalign.c +++ b/lib/mbsalign.c @@ -223,6 +223,9 @@ char *mbs_invalid_encode_to_buffer(const char *s, size_t *width, char *buf) #ifdef HAVE_WIDECHAR wchar_t wc; size_t len = mbrtowc(&wc, p, MB_CUR_MAX, &st); +#else + size_t len = 1; +#endif if (len == 0) break; /* end of string */ @@ -251,10 +254,6 @@ char *mbs_invalid_encode_to_buffer(const char *s, size_t *width, char *buf) *width += wcwidth(wc); } p += len; -#else - *r++ = *p++; - (*width)++; -#endif } *r = '\0'; -- cgit v1.2.3-55-g7522 From edf86d6bc05ac17703cec1dbf6e10d81d628cd3f Mon Sep 17 00:00:00 2001 From: Vaclav Dolezal Date: Thu, 11 Jan 2018 10:42:22 +0100 Subject: lib/mbsalign: Fix escaping nonprintable multibyte characters Signed-off-by: Vaclav Dolezal --- lib/mbsalign.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/mbsalign.c b/lib/mbsalign.c index 3959d46dd..8fdab9ee9 100644 --- a/lib/mbsalign.c +++ b/lib/mbsalign.c @@ -168,7 +168,7 @@ char *mbs_safe_encode_to_buffer(const char *s, size_t *width, char *buf, const c } else if (!iswprint(wc)) { size_t i; for (i = 0; i < len; i++) { - sprintf(r, "\\x%02x", (unsigned char) *p); + sprintf(r, "\\x%02x", (unsigned char) p[i]); r += 4; *width += 4; } -- cgit v1.2.3-55-g7522