]> granicus.if.org Git - php/commitdiff
- MF53: fix for bug #44870: rename() on directory deletes same named file.
authorDerick Rethans <derick@php.net>
Fri, 2 May 2008 14:08:44 +0000 (14:08 +0000)
committerDerick Rethans <derick@php.net>
Fri, 2 May 2008 14:08:44 +0000 (14:08 +0000)
  (Patch by Pierre)

TSRM/tsrm_virtual_cwd.h

index b9ecdf537aecb5d811e2e23c615fc14b3206fabd..d94f3adf6909a41d2081e39a1dad86f2c01015f4 100644 (file)
@@ -299,7 +299,7 @@ CWD_API void realpath_cache_del(const char *path, int path_len TSRMLS_DC);
 #if defined(TSRM_WIN32)
 # define VCWD_RENAME(oldname, newname) MoveFileEx(oldname, newname, MOVEFILE_REPLACE_EXISTING)
 #else
-# define VCWD_RENAME(oldname, newname) rename(oldname, newname)
+# define VCWD_RENAME(oldname, newname) (MoveFileEx(oldname, newname, MOVEFILE_REPLACE_EXISTING) == 0 ? -1 : 0)
 #endif
 #define VCWD_CHDIR(path) chdir(path)
 #define VCWD_CHDIR_FILE(path) virtual_chdir_file(path, chdir)