@@ -180,7 +180,7 @@ CWD_API char *virtual_realpath(const char *path, char *real_path);
180180CWD_API FILE * virtual_fopen (const char * path , const char * mode );
181181CWD_API int virtual_open (const char * path , int flags , ...);
182182CWD_API int virtual_creat (const char * path , mode_t mode );
183- CWD_API int virtual_rename (const char * oldname , const char * newname );
183+ CWD_API zend_result virtual_rename (const char * old_name , size_t old_name_len , const char * new_name , size_t new_name_len );
184184CWD_API int virtual_stat (const char * path , zend_stat_t * buf );
185185CWD_API int virtual_lstat (const char * path , zend_stat_t * buf );
186186CWD_API int virtual_unlink (const char * path );
@@ -254,6 +254,12 @@ CWD_API zend_long realpath_cache_size(void);
254254CWD_API zend_long realpath_cache_max_buckets (void );
255255CWD_API realpath_cache_bucket * * realpath_cache_get_buckets (void );
256256
257+
258+ static zend_always_inline zend_result virtual_rename_native (const char * old_name ,
259+ ZEND_ATTRIBUTE_UNUSED size_t old_name_len , const char * new_name , ZEND_ATTRIBUTE_UNUSED size_t new_name_len ) {
260+ return (rename (old_name , new_name ) == 0 ) ? SUCCESS : FAILURE ;
261+ }
262+
257263#ifdef CWD_EXPORTS
258264extern void virtual_cwd_main_cwd_init (uint8_t );
259265#endif
@@ -275,7 +281,7 @@ extern void virtual_cwd_main_cwd_init(uint8_t);
275281#define VCWD_CHDIR_FILE (path , path_len ) virtual_chdir_file(path, path_len, (int (*)(const char *)) virtual_chdir)
276282#define VCWD_GETWD (buf )
277283#define VCWD_REALPATH (path , real_path ) virtual_realpath(path, real_path)
278- #define VCWD_RENAME (oldname , newname ) virtual_rename(oldname, newname )
284+ #define VCWD_RENAME (old_name , old_name_length , new_name , new_name_length ) virtual_rename(old_name, old_name_length, new_name, new_name_length )
279285#define VCWD_STAT (path , buff ) virtual_stat(path, buff)
280286# define VCWD_LSTAT (path , buff ) virtual_lstat(path, buff)
281287#define VCWD_UNLINK (path ) virtual_unlink(path)
@@ -304,7 +310,7 @@ extern void virtual_cwd_main_cwd_init(uint8_t);
304310#define VCWD_FOPEN (path , mode ) php_win32_ioutil_fopen(path, mode)
305311#define VCWD_OPEN (path , flags ) php_win32_ioutil_open(path, flags)
306312#define VCWD_OPEN_MODE (path , flags , mode ) php_win32_ioutil_open(path, flags, mode)
307- # define VCWD_RENAME (oldname , newname ) php_win32_ioutil_rename(oldname, newname )
313+ #define VCWD_RENAME (old_name , old_name_length , new_name , new_name_length ) php_win32_ioutil_rename(old_name, old_name_length, new_name, new_name_length )
308314#define VCWD_MKDIR (pathname , mode ) php_win32_ioutil_mkdir(pathname, mode)
309315#define VCWD_RMDIR (pathname ) php_win32_ioutil_rmdir(pathname)
310316#define VCWD_UNLINK (path ) php_win32_ioutil_unlink(path)
@@ -316,8 +322,8 @@ extern void virtual_cwd_main_cwd_init(uint8_t);
316322#define VCWD_FOPEN (path , mode ) fopen(path, mode)
317323#define VCWD_OPEN (path , flags ) open(path, flags)
318324#define VCWD_OPEN_MODE (path , flags , mode ) open(path, flags, mode)
319- # define VCWD_RENAME (oldname , newname ) rename(oldname, newname )
320- #define VCWD_MKDIR (pathname , mode ) mkdir(pathname , mode)
325+ #define VCWD_RENAME (old_name , old_name_len , new_name , new_name_len ) virtual_rename_native(old_name, old_name_len, new_name, new_name_len )
326+ #define VCWD_MKDIR (path , mode ) mkdir(path , mode)
321327#define VCWD_RMDIR (pathname ) rmdir(pathname)
322328#define VCWD_UNLINK (path ) unlink(path)
323329#define VCWD_CHDIR (path ) chdir(path)
0 commit comments