Alexandre Julliard : mscoree: Store the Mono base directory in Unicode.
Module: wine Branch: master Commit: df3c911c635c3c0d236af30ddfff1c618367dd8c URL: https://source.winehq.org/git/wine.git/?a=commit;h=df3c911c635c3c0d236af30dd... Author: Alexandre Julliard <julliard(a)winehq.org> Date: Sun Nov 17 16:09:37 2019 +0100 mscoree: Store the Mono base directory in Unicode. --- dlls/mscoree/metahost.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dlls/mscoree/metahost.c b/dlls/mscoree/metahost.c index 18232a4568..4c1e4e97c1 100644 --- a/dlls/mscoree/metahost.c +++ b/dlls/mscoree/metahost.c @@ -711,7 +711,7 @@ static BOOL get_mono_path_registry(LPWSTR path) static BOOL get_mono_path_dos(const WCHAR *dir, LPWSTR path) { static const WCHAR unix_prefix[] = {'\\','\\','?','\\','u','n','i','x','\\'}; - static const char basedir[] = "\\wine-mono-" WINE_MONO_VERSION; + static const WCHAR basedir[] = L"\\wine-mono-" WINE_MONO_VERSION; LPWSTR dos_dir; WCHAR mono_dll_path[MAX_PATH]; DWORD len; @@ -720,10 +720,10 @@ static BOOL get_mono_path_dos(const WCHAR *dir, LPWSTR path) if (memcmp(dir, unix_prefix, sizeof(unix_prefix)) == 0) return FALSE; /* No drive letter for this directory */ - len = lstrlenW( dir ) + MultiByteToWideChar( CP_UNIXCP, 0, basedir, -1, NULL, 0 ); + len = lstrlenW( dir ) + lstrlenW( basedir ) + 1; if (!(dos_dir = heap_alloc( len * sizeof(WCHAR) ))) return FALSE; lstrcpyW( dos_dir, dir ); - MultiByteToWideChar( CP_UNIXCP, 0, basedir, -1, dos_dir + lstrlenW(dos_dir), len - lstrlenW(dos_dir)); + lstrcatW( dos_dir, basedir ); ret = find_mono_dll(dos_dir, mono_dll_path); if (ret)
participants (1)
-
Alexandre Julliard