From f4fe2b2dc8fe88308a16381b7ca8156e63ab056b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mu=C5=BCy=C5=82o?= Date: Tue, 12 Sep 2017 19:09:04 +0200 Subject: [PATCH] itss: Fix handling non-ASCII content paths. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Rafał Mużyło Signed-off-by: Alexandre Julliard --- dlls/itss/chm_lib.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/dlls/itss/chm_lib.c b/dlls/itss/chm_lib.c index f2586233bd2..829f758516a 100644 --- a/dlls/itss/chm_lib.c +++ b/dlls/itss/chm_lib.c @@ -935,15 +935,10 @@ static UInt64 _chm_parse_cword(UChar **pEntry) /* parse a utf-8 string into an ASCII char buffer */ static BOOL _chm_parse_UTF8(UChar **pEntry, UInt64 count, WCHAR *path) { - /* MJM - Modified to return real Unicode strings */ - while (count != 0) - { - *path++ = (*(*pEntry)++); - --count; - } - - *path = '\0'; - return TRUE; + DWORD length = MultiByteToWideChar(CP_UTF8, 0, (char *)*pEntry, count, path, CHM_MAX_PATHLEN); + path[length] = '\0'; + *pEntry += count; + return !!length; } /* parse a PMGL entry into a chmUnitInfo struct; return 1 on success. */