From 850b63b65ec6eac906ac99bc1f12aa6d42d7fd08 Mon Sep 17 00:00:00 2001 From: Akihiro Sagawa Date: Wed, 19 Feb 2020 23:21:43 +0900 Subject: [PATCH] shlwapi: Fix wnsprintfW/wvnsprintfW %C conversion. Signed-off-by: Akihiro Sagawa Signed-off-by: Alexandre Julliard --- dlls/shlwapi/wsprintf.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/dlls/shlwapi/wsprintf.c b/dlls/shlwapi/wsprintf.c index baf5ea601a9..dfc1488f634 100644 --- a/dlls/shlwapi/wsprintf.c +++ b/dlls/shlwapi/wsprintf.c @@ -525,8 +525,15 @@ INT WINAPI wvnsprintfW( LPWSTR buffer, INT maxlen, LPCWSTR spec, __ms_va_list ar *p++ = argData.wchar_view; break; case WPR_CHAR: - *p++ = argData.char_view; - break; + { + WCHAR wc; + if (!IsDBCSLeadByte( (BYTE)argData.char_view ) + && MultiByteToWideChar( CP_ACP, 0, &argData.char_view, 1, &wc, 1 ) > 0) + *p++ = wc; + else + *p++ = 0; + break; + } case WPR_STRING: { LPCSTR ptr = argData.lpcstr_view;