David Hedberg : msi: Generalize media helpers a bit.

Alexandre Julliard julliard at winehq.org
Tue Mar 29 11:43:02 CDT 2011


Module: wine
Branch: master
Commit: 18973df9c7ae9f6f9ce45867c4de3fb23915ead6
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=18973df9c7ae9f6f9ce45867c4de3fb23915ead6

Author: David Hedberg <dhedberg at codeweavers.com>
Date:   Tue Mar 22 20:45:10 2011 +0100

msi: Generalize media helpers a bit.

---

 dlls/msi/files.c   |    5 +++--
 dlls/msi/media.c   |   10 +++++-----
 dlls/msi/msipriv.h |    4 ++--
 3 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/dlls/msi/files.c b/dlls/msi/files.c
index 1f61873..4d8c502 100644
--- a/dlls/msi/files.c
+++ b/dlls/msi/files.c
@@ -302,7 +302,7 @@ UINT ACTION_InstallFiles(MSIPACKAGE *package)
 
     LIST_FOR_EACH_ENTRY( file, &package->files, MSIFILE, entry )
     {
-        rc = msi_load_media_info( package, file, mi );
+        rc = msi_load_media_info( package, file->Sequence, mi );
         if (rc != ERROR_SUCCESS)
         {
             ERR("Unable to load media info for %s (%u)\n", debugstr_w(file->File), rc);
@@ -310,7 +310,8 @@ UINT ACTION_InstallFiles(MSIPACKAGE *package)
         }
         if (!file->Component->Enabled) continue;
 
-        if (file->state != msifs_hashmatch && (rc = ready_media( package, file, mi )))
+        if (file->state != msifs_hashmatch &&
+            (rc = ready_media( package, file->Sequence, file->IsCompressed, mi )))
         {
             ERR("Failed to ready media for %s\n", debugstr_w(file->File));
             goto done;
diff --git a/dlls/msi/media.c b/dlls/msi/media.c
index 37d3530..7cf7585 100644
--- a/dlls/msi/media.c
+++ b/dlls/msi/media.c
@@ -656,7 +656,7 @@ static UINT get_drive_type(const WCHAR *path)
     return GetDriveTypeW(root);
 }
 
-UINT msi_load_media_info(MSIPACKAGE *package, MSIFILE *file, MSIMEDIAINFO *mi)
+UINT msi_load_media_info(MSIPACKAGE *package, UINT Sequence, MSIMEDIAINFO *mi)
 {
     MSIRECORD *row;
     LPWSTR source_dir;
@@ -669,7 +669,7 @@ UINT msi_load_media_info(MSIPACKAGE *package, MSIFILE *file, MSIMEDIAINFO *mi)
         '`','L','a','s','t','S','e','q','u','e','n','c','e','`',' ','>','=',' ','%','i',
         ' ','O','R','D','E','R',' ','B','Y',' ','`','D','i','s','k','I','d','`',0};
 
-    row = MSI_QueryGetRecord(package->db, query, file->Sequence);
+    row = MSI_QueryGetRecord(package->db, query, Sequence);
     if (!row)
     {
         TRACE("Unable to query row\n");
@@ -815,7 +815,7 @@ static UINT find_published_source(MSIPACKAGE *package, MSIMEDIAINFO *mi)
     return ERROR_FUNCTION_FAILED;
 }
 
-UINT ready_media(MSIPACKAGE *package, MSIFILE *file, MSIMEDIAINFO *mi)
+UINT ready_media(MSIPACKAGE *package, UINT Sequence, BOOL IsCompressed, MSIMEDIAINFO *mi)
 {
     UINT rc = ERROR_SUCCESS;
     WCHAR *cabinet_file;
@@ -831,7 +831,7 @@ UINT ready_media(MSIPACKAGE *package, MSIFILE *file, MSIMEDIAINFO *mi)
     cabinet_file = get_cabinet_filename(mi);
 
     /* package should be downloaded */
-    if (file->IsCompressed &&
+    if (IsCompressed &&
         GetFileAttributesW(cabinet_file) == INVALID_FILE_ATTRIBUTES &&
         package->BaseURL && UrlIsW(package->BaseURL, URLIS_URL))
     {
@@ -874,7 +874,7 @@ UINT ready_media(MSIPACKAGE *package, MSIFILE *file, MSIMEDIAINFO *mi)
         }
     }
 
-    if (file->IsCompressed &&
+    if (IsCompressed &&
         GetFileAttributesW(cabinet_file) == INVALID_FILE_ATTRIBUTES)
     {
         rc = find_published_source(package, mi);
diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h
index 1a0bee0..266c25e 100644
--- a/dlls/msi/msipriv.h
+++ b/dlls/msi/msipriv.h
@@ -990,8 +990,8 @@ typedef struct
     PVOID user;
 } MSICABDATA;
 
-extern UINT ready_media(MSIPACKAGE *package, MSIFILE *file, MSIMEDIAINFO *mi);
-extern UINT msi_load_media_info(MSIPACKAGE *package, MSIFILE *file, MSIMEDIAINFO *mi);
+extern UINT ready_media(MSIPACKAGE *package, UINT Sequence, BOOL IsCompressed, MSIMEDIAINFO *mi);
+extern UINT msi_load_media_info(MSIPACKAGE *package, UINT Sequence, MSIMEDIAINFO *mi);
 extern void msi_free_media_info(MSIMEDIAINFO *mi);
 extern BOOL msi_cabextract(MSIPACKAGE* package, MSIMEDIAINFO *mi, LPVOID data);
 




More information about the wine-cvs mailing list