sync to wine-0.9.54
authorMarc Piulachs <marc.piulachs@live.com>
Tue, 29 Jan 2008 23:48:40 +0000 (23:48 +0000)
committerMarc Piulachs <marc.piulachs@live.com>
Tue, 29 Jan 2008 23:48:40 +0000 (23:48 +0000)
svn path=/trunk/; revision=32043

reactos/base/applications/cmdutils/xcopy/xcopy.c

index a88a0ad..6a1e8bf 100644 (file)
@@ -507,6 +507,7 @@ static int XCOPY_DoCopy(WCHAR *srcstem, WCHAR *srcspec,
     BOOL            copiedFile = FALSE;
     DWORD           destAttribs, srcAttribs;
     BOOL            skipFile;
+    int             ret = 0;
 
     /* Allocate some working memory on heap to minimize footprint */
     finddata = HeapAlloc(GetProcessHeap(), 0, sizeof(WIN32_FIND_DATA));
@@ -718,7 +719,8 @@ static int XCOPY_DoCopy(WCHAR *srcstem, WCHAR *srcspec,
                     if (flags & OPT_IGNOREERRORS) {
                         skipFile = TRUE;
                     } else {
-                        return RC_WRITEERROR;
+                        ret = RC_WRITEERROR;
+                        goto cleanup;
                     }
                 }
 
@@ -780,12 +782,14 @@ static int XCOPY_DoCopy(WCHAR *srcstem, WCHAR *srcspec,
         }
     }
 
+cleanup:
+
     /* free up memory */
     HeapFree(GetProcessHeap(), 0, finddata);
     HeapFree(GetProcessHeap(), 0, inputpath);
     HeapFree(GetProcessHeap(), 0, outputpath);
 
-    return 0;
+    return ret;
 }
 
 /* =========================================================================