From ab6596266fc616cbe235bb919349f22ff9a75aba Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Sun, 29 Jul 2012 21:42:10 +0000 Subject: Add missing file from last checkin. --- winsup/cygwin/smallprint.cc | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'winsup/cygwin/smallprint.cc') diff --git a/winsup/cygwin/smallprint.cc b/winsup/cygwin/smallprint.cc index e7a9f530f..fa7706b47 100644 --- a/winsup/cygwin/smallprint.cc +++ b/winsup/cygwin/smallprint.cc @@ -146,7 +146,17 @@ __small_vsprintf (char *dst, const char *fmt, va_list ap) l_opt = true; continue; case 'c': - *dst++ = (char) (va_arg (ap, int) & 0xff); + { + unsigned char c = (va_arg (ap, int) & 0xff); + if (isprint (c) || pad != '0') + *dst++ = c; + else + { + *dst++ = '0'; + *dst++ = 'x'; + dst = __rn (dst, 16, 0, c, len, pad, LMASK); + } + } break; case 'C': { -- cgit v1.2.3