Module: wine Branch: master Commit: 850b63b65ec6eac906ac99bc1f12aa6d42d7fd08 URL: https://source.winehq.org/git/wine.git/?a=commit;h=850b63b65ec6eac906ac99bc1...
Author: Akihiro Sagawa sagawa.aki@gmail.com Date: Wed Feb 19 23:21:43 2020 +0900
shlwapi: Fix wnsprintfW/wvnsprintfW %C conversion.
Signed-off-by: Akihiro Sagawa sagawa.aki@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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 baf5ea601a..dfc1488f63 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;