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

TSRM/tsrm_virtual_cwd.h

index df9428d7f25a97d8a1dee89eb6cd019b0d13a9d2..a4893450cf4f32b7d34e5a2a10fa91e9459e5883 100644 (file)
@@ -280,7 +280,7 @@ CWD_API void realpath_cache_del(const char *path, int path_len TSRMLS_DC);
 /* 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)
+# define VCWD_RENAME(oldname, newname) (MoveFileEx(oldname, newname, MOVEFILE_REPLACE_EXISTING) == 0 ? -1 : 0)
 #else
 # define VCWD_RENAME(oldname, newname) rename(oldname, newname)
 #endif