[PATCH 2/4] setupapi: Set the CabinetFile field to the name of the next cabinet.

Zebediah Figura z.figura12 at gmail.com
Sun Mar 7 14:57:48 CST 2021


Verified through manual testing.

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
 dlls/setupapi/setupcab.c       | 6 +++---
 dlls/setupapi/tests/setupcab.c | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/dlls/setupapi/setupcab.c b/dlls/setupapi/setupcab.c
index 4824170d587..daf23ad31ad 100644
--- a/dlls/setupapi/setupcab.c
+++ b/dlls/setupapi/setupcab.c
@@ -166,9 +166,9 @@ static INT_PTR CDECL sc_FNNOTIFY_A(FDINOTIFICATIONTYPE fdint, PFDINOTIFICATION p
 
   switch (fdint) {
   case fdintCABINET_INFO:
-    TRACE("New cabinet, path %s, set %u, number %u, next disk %s.\n",
-            debugstr_a(pfdin->psz3), pfdin->setID, pfdin->iCabinet, debugstr_a(pfdin->psz2));
-    ci.CabinetFile = phsc->most_recent_cabinet_name;
+    TRACE("New cabinet, path %s, set %u, number %u, next disk %s, next cabinet %s.\n",
+            debugstr_a(pfdin->psz3), pfdin->setID, pfdin->iCabinet, debugstr_a(pfdin->psz2), debugstr_a(pfdin->psz1));
+    ci.CabinetFile = pfdin->psz1;
     ci.CabinetPath = pfdin->psz3;
     ci.DiskName = pfdin->psz2;
     ci.SetId = pfdin->setID;
diff --git a/dlls/setupapi/tests/setupcab.c b/dlls/setupapi/tests/setupcab.c
index 6ead90206f8..c76ca465fca 100644
--- a/dlls/setupapi/tests/setupcab.c
+++ b/dlls/setupapi/tests/setupcab.c
@@ -324,7 +324,7 @@ static UINT CALLBACK simple_callbackA(void *context, UINT message, UINT_PTR para
 
         GetTempPathA(ARRAY_SIZE(temp), temp);
         ok(!strcmp(info->CabinetPath, temp), "Got path %s.\n", debugstr_a(info->CabinetPath));
-        todo_wine ok(!info->CabinetFile[0], "Got file %s.\n", debugstr_a(info->CabinetFile));
+        ok(!info->CabinetFile[0], "Got file %s.\n", debugstr_a(info->CabinetFile));
         ok(!info->DiskName[0], "Got disk name %s.\n", debugstr_a(info->DiskName));
         ok(!info->SetId, "Got set ID %#x.\n", info->SetId);
         ok(!info->CabinetNumber, "Got cabinet number %u.\n", info->CabinetNumber);
@@ -432,7 +432,7 @@ static UINT CALLBACK simple_callbackW(void *context, UINT message, UINT_PTR para
 
         GetTempPathW(ARRAY_SIZE(temp), temp);
         ok(!wcscmp(info->CabinetPath, temp), "Got path %s.\n", debugstr_w(info->CabinetPath));
-        todo_wine ok(!info->CabinetFile[0], "Got file %s.\n", debugstr_w(info->CabinetFile));
+        ok(!info->CabinetFile[0], "Got file %s.\n", debugstr_w(info->CabinetFile));
         ok(!info->DiskName[0], "Got disk name %s.\n", debugstr_w(info->DiskName));
         ok(!info->SetId, "Got set ID %#x.\n", info->SetId);
         ok(!info->CabinetNumber, "Got cabinet number %u.\n", info->CabinetNumber);
-- 
2.20.1




More information about the wine-devel mailing list