mshtml: Call install_cab_file() with name directly on non-Wine.

This commit is contained in:
Marcus Meissner 2009-02-04 19:11:10 +01:00 committed by Alexandre Julliard
parent 1420ef9c4b
commit 6af99937b6
1 changed files with 13 additions and 10 deletions

View File

@ -193,18 +193,21 @@ static BOOL install_from_unix_file(const char *file_name)
close(fd); close(fd);
if(!wine_get_dos_file_name) { if(!wine_get_dos_file_name)
wine_get_dos_file_name = (void*)GetProcAddress(GetModuleHandleW(kernel32W), "wine_get_dos_file_name"); wine_get_dos_file_name = (void*)GetProcAddress(GetModuleHandleW(kernel32W), "wine_get_dos_file_name");
if(!wine_get_dos_file_name) {
ERR("Could not get wine_get_dos_file_name function.\n");
return FALSE;
}
}
dos_file_name = wine_get_dos_file_name(file_name); if(wine_get_dos_file_name) { /* Wine UNIX mode */
if(!dos_file_name) { dos_file_name = wine_get_dos_file_name(file_name);
ERR("Could not get dos file name of %s\n", debugstr_a(file_name)); if(!dos_file_name) {
return FALSE; ERR("Could not get dos file name of %s\n", debugstr_a(file_name));
return FALSE;
}
} else { /* Windows mode */
UINT res;
WARN("Could not get wine_get_dos_file_name function, calling install_cab directly.\n");
res = MultiByteToWideChar( CP_ACP, 0, file_name, -1, 0, 0);
dos_file_name = heap_alloc (res*sizeof(WCHAR));
MultiByteToWideChar( CP_ACP, 0, file_name, -1, dos_file_name, res);
} }
ret = install_cab(dos_file_name); ret = install_cab(dos_file_name);