Patch: MoveFileEx()

Martin Wilck Martin.Wilck at Fujitsu-Siemens.com
Fri Sep 13 07:34:13 CDT 2002


Patch: MoveFileEx.diff
Martin Wilck <Martin.Wilck at fujitsu-siemens.com>
Patch against: CVS 2002-09-13

Modified files:
        - wine/files:        file.c

MoveFileEx(): Fix behaviour with files on different drives.
        - delete source if copy successful
        - return correct error code if MOVEFILE_COPY_ALLOWED is not set.

Index: files/file.c
===================================================================
RCS file: /home/wine/wine/files/file.c,v
retrieving revision 1.160
diff -u -r1.160 file.c
--- files/file.c	12 Sep 2002 22:28:01 -0000	1.160
+++ files/file.c	13 Sep 2002 12:26:36 -0000
@@ -2675,11 +2675,13 @@
             /* use copy, if allowed */
             if (!(flag & MOVEFILE_COPY_ALLOWED))
             {
-                /* FIXME: Use right error code */
-                SetLastError( ERROR_FILE_EXISTS );
+                SetLastError( ERROR_NOT_SAME_DEVICE );
                 return FALSE;
             }
-            return CopyFileW( fn1, fn2, !(flag & MOVEFILE_REPLACE_EXISTING) );
+            if ( CopyFileW( fn1, fn2, !(flag & MOVEFILE_REPLACE_EXISTING) ) )
+                return DeleteFileW ( fn1 );
+            else
+                return FALSE;
         }
         if (rename( full_name1.long_name, full_name2.long_name ) == -1)
 	{
-- 
Martin Wilck                Phone: +49 5251 8 15113
Fujitsu Siemens Computers   Fax:   +49 5251 8 20409
Heinz-Nixdorf-Ring 1	    mailto:Martin.Wilck at Fujitsu-Siemens.com
D-33106 Paderborn           http://www.fujitsu-siemens.com/primergy








More information about the wine-patches mailing list