]> granicus.if.org Git - php/commitdiff
- #48771, rename() between drives error: No error
authorPierre Joye <pajoye@php.net>
Mon, 6 Jul 2009 08:55:09 +0000 (08:55 +0000)
committerPierre Joye <pajoye@php.net>
Mon, 6 Jul 2009 08:55:09 +0000 (08:55 +0000)
TSRM/tsrm_virtual_cwd.c
TSRM/tsrm_virtual_cwd.h

index 72307f144b26133f6041a60d03c744b6188c52e2..2d1eb36757bb25f7d4c4708733f3c9712ee6dbc1 100644 (file)
@@ -1371,7 +1371,7 @@ CWD_API int virtual_rename(char *oldname, char *newname TSRMLS_DC) /* {{{ */
        /* rename on windows will fail if newname already exists.
           MoveFileEx has to be used */
 #ifdef TSRM_WIN32
-       retval = (MoveFileEx(oldname, newname, MOVEFILE_REPLACE_EXISTING) == 0) ? -1 : 0;
+       retval = (MoveFileEx(oldname, newname, MOVEFILE_REPLACE_EXISTING|MOVEFILE_COPY_ALLOWED) == 0) ? -1 : 0;
 #else
        retval = rename(oldname, newname);
 #endif
index cc7f7f61ea9f76f9aecbe16e6ba635edfd279e2c..0b4ed266ebd912ebf7383da64e7f8c14c6221658 100644 (file)
@@ -305,7 +305,7 @@ CWD_API realpath_cache_bucket* realpath_cache_lookup(const char *path, int path_
 /* rename on windows will fail if newname already exists.
    MoveFileEx has to be used */
 #if defined(TSRM_WIN32)
-# define VCWD_RENAME(oldname, newname) (MoveFileEx(oldname, newname, MOVEFILE_REPLACE_EXISTING) == 0 ? -1 : 0)
+# define VCWD_RENAME(oldname, newname) (MoveFileEx(oldname, newname, MOVEFILE_REPLACE_EXISTING|MOVEFILE_COPY_ALLOWED) == 0 ? -1 : 0)
 #else
 # define VCWD_RENAME(oldname, newname) rename(oldname, newname)
 #endif