[ITSS] Sync with Wine 3.0. CORE-14225
[reactos.git] / dll / win32 / itss / chm_lib.c
index e1d5034..12ba5fd 100644 (file)
@@ -922,15 +922,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. */