Alexandre Julliard : cabinet: Treat only -1 as an error from the FDICopy callback.

Alexandre Julliard julliard at winehq.org
Fri Dec 15 14:46:28 CST 2017


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Fri Dec 15 18:47:14 2017 +0100

cabinet: Treat only -1 as an error from the FDICopy callback.

Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/cabinet/fdi.c       | 4 ++--
 dlls/cabinet/tests/fdi.c | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/dlls/cabinet/fdi.c b/dlls/cabinet/fdi.c
index 758133e..777174b 100644
--- a/dlls/cabinet/fdi.c
+++ b/dlls/cabinet/fdi.c
@@ -2496,7 +2496,7 @@ BOOL __cdecl FDICopy(
   fdin.psz2 = (CAB(mii).nextinfo) ? CAB(mii).nextinfo : &emptystring;
   fdin.psz3 = pszCabPath;
 
-  if (((*pfnfdin)(fdintCABINET_INFO, &fdin))) {
+  if (pfnfdin(fdintCABINET_INFO, &fdin) == -1) {
     set_error( fdi, FDIERROR_USER_ABORT, 0 );
     goto bail_and_fail;
   }
@@ -2623,7 +2623,7 @@ BOOL __cdecl FDICopy(
       fdin.psz2 = (CAB(mii).prevname) ? CAB(mii).prevname : &emptystring;
       fdin.psz3 = (CAB(mii).previnfo) ? CAB(mii).previnfo : &emptystring;
 
-      if (((*pfnfdin)(fdintPARTIAL_FILE, &fdin))) {
+      if (pfnfdin(fdintPARTIAL_FILE, &fdin) == -1) {
         set_error( fdi, FDIERROR_USER_ABORT, 0 );
         goto bail_and_fail;
       }
diff --git a/dlls/cabinet/tests/fdi.c b/dlls/cabinet/tests/fdi.c
index ba622f6..80f6a3c 100644
--- a/dlls/cabinet/tests/fdi.c
+++ b/dlls/cabinet/tests/fdi.c
@@ -744,7 +744,7 @@ static void test_FDIIsCabinet(void)
 
 static INT_PTR __cdecl CopyProgress(FDINOTIFICATIONTYPE fdint, PFDINOTIFICATION pfdin)
 {
-    return 0;
+    return 37;  /* doc says 0, but anything != -1 apparently means success as well */
 }
 
 static INT_PTR CDECL fdi_mem_open(char *name, int oflag, int pmode)




More information about the wine-cvs mailing list