Akihiro Sagawa : shlwapi: Fix wnsprintfW/wvnsprintfW %C conversion.
Alexandre Julliard
julliard at winehq.org
Wed Feb 19 15:35:48 CST 2020
Module: wine
Branch: master
Commit: 850b63b65ec6eac906ac99bc1f12aa6d42d7fd08
URL: https://source.winehq.org/git/wine.git/?a=commit;h=850b63b65ec6eac906ac99bc1f12aa6d42d7fd08
Author: Akihiro Sagawa <sagawa.aki at gmail.com>
Date: Wed Feb 19 23:21:43 2020 +0900
shlwapi: Fix wnsprintfW/wvnsprintfW %C conversion.
Signed-off-by: Akihiro Sagawa <sagawa.aki at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at 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;
More information about the wine-cvs
mailing list