diff options
| author | Andi Gutmans <andi@php.net> | 2000-05-23 14:36:27 +0000 |
|---|---|---|
| committer | Andi Gutmans <andi@php.net> | 2000-05-23 14:36:27 +0000 |
| commit | 521f03c184fad08cc6943decd53df29f4a3ed830 (patch) | |
| tree | 5e8f40e3843a91dc461b2e329d67ede4ac12252e /main | |
| parent | 0eb51100b77996efbf0a728efe55ded996814025 (diff) | |
| download | php-git-521f03c184fad08cc6943decd53df29f4a3ed830.tar.gz | |
- Support virtual unlink()
Diffstat (limited to 'main')
| -rw-r--r-- | main/php.h | 2 | ||||
| -rw-r--r-- | main/php_virtual_cwd.c | 15 | ||||
| -rw-r--r-- | main/php_virtual_cwd.h | 2 |
3 files changed, 19 insertions, 0 deletions
diff --git a/main/php.h b/main/php.h index cdbbaabeb2..9cc2f8b040 100644 --- a/main/php.h +++ b/main/php.h @@ -308,6 +308,7 @@ PHPAPI int cfg_get_string(char *varname, char **result); #else #define V_LSTAT(path, buff) virtual_lstat(path, buff) #endif +#define V_UNLINK(path) virtual_unlink(path) #else #define V_GETCWD(buff, size) getcwd(buff,size) #define V_FOPEN(path, mode) fopen(path, mode) @@ -318,6 +319,7 @@ PHPAPI int cfg_get_string(char *varname, char **result); #define V_GETWD(buf) getwd(buf) #define V_STAT(path, buff) stat(path, buff) #define V_LSTAT(path, buff) lstat(path, buff) +#define V_UNLINK(path) unlink(path) #endif #include "zend_constants.h" diff --git a/main/php_virtual_cwd.c b/main/php_virtual_cwd.c index 3a1097963c..765d3215d9 100644 --- a/main/php_virtual_cwd.c +++ b/main/php_virtual_cwd.c @@ -471,6 +471,21 @@ CWD_API int virtual_lstat(const char *path, struct stat *buf) #endif +CWD_API int virtual_unlink(const char *path) +{ + cwd_state new_state; + int retval; + CWDLS_FETCH(); + + CWD_STATE_COPY(&new_state, &CWDG(cwd)); + + virtual_file_ex(&new_state, path, NULL); + + retval = unlink(new_state.cwd); + CWD_STATE_FREE(&new_state); + return retval; +} + #if 0 main(void) diff --git a/main/php_virtual_cwd.h b/main/php_virtual_cwd.h index 5622c2d0fd..c893c8d020 100644 --- a/main/php_virtual_cwd.h +++ b/main/php_virtual_cwd.h @@ -48,6 +48,8 @@ CWD_API int virtual_stat(const char *path, struct stat *buf); #ifndef ZEND_WIN32 CWD_API int virtual_lstat(const char *path, struct stat *buf); #endif +CWD_API int virtual_unlink(const char *path); + CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func verify_path); ZEND_BEGIN_MODULE_GLOBALS(cwd) |
