Hans Leidekker : msi: Perform a case insensitive match on filenames from cabinets.
Alexandre Julliard
julliard at winehq.org
Mon Mar 12 12:00:00 CDT 2012
Module: wine
Branch: master
Commit: fa2420d6960df77d6073e3666d375936c5999fe7
URL: http://source.winehq.org/git/wine.git/?a=commit;h=fa2420d6960df77d6073e3666d375936c5999fe7
Author: Hans Leidekker <hans at codeweavers.com>
Date: Mon Mar 12 12:26:34 2012 +0100
msi: Perform a case insensitive match on filenames from cabinets.
---
dlls/msi/files.c | 14 ++++++++++++--
1 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/dlls/msi/files.c b/dlls/msi/files.c
index 909f71f..e928564 100644
--- a/dlls/msi/files.c
+++ b/dlls/msi/files.c
@@ -247,6 +247,17 @@ static UINT msi_create_directory( MSIPACKAGE *package, const WCHAR *dir )
return ERROR_SUCCESS;
}
+static MSIFILE *find_file( MSIPACKAGE *package, const WCHAR *filename )
+{
+ MSIFILE *file;
+
+ LIST_FOR_EACH_ENTRY( file, &package->files, MSIFILE, entry )
+ {
+ if (!strcmpiW( filename, file->File )) return file;
+ }
+ return NULL;
+}
+
static BOOL installfiles_cb(MSIPACKAGE *package, LPCWSTR file, DWORD action,
LPWSTR *path, DWORD *attrs, PVOID user)
{
@@ -255,8 +266,7 @@ static BOOL installfiles_cb(MSIPACKAGE *package, LPCWSTR file, DWORD action,
if (action == MSICABEXTRACT_BEGINEXTRACT)
{
- f = msi_get_loaded_file(package, file);
- if (!f)
+ if (!(f = find_file( package, file )))
{
TRACE("unknown file in cabinet (%s)\n", debugstr_w(file));
return FALSE;
More information about the wine-cvs
mailing list