From: Andi Gutmans Date: Sat, 2 Sep 2000 18:40:41 +0000 (+0000) Subject: - Remove another TSRM->Zend dependency X-Git-Tag: php-4.0.3RC1~360 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=299d1295b6350cc32e33e56d20e1106fe5c93f1a;p=php - Remove another TSRM->Zend dependency --- diff --git a/main/php_virtual_cwd.c b/main/php_virtual_cwd.c index fd0c352bb0..0bb8e34b2c 100644 --- a/main/php_virtual_cwd.c +++ b/main/php_virtual_cwd.c @@ -48,7 +48,11 @@ typedef int mode_t; MUTEX_T cwd_mutex; #endif -ZEND_DECLARE_MODULE_GLOBALS(cwd); +#ifdef ZTS +static ts_rsrc_id cwd_globals_id; +#else +static virtual_cwd_globals cwd_globals; +#endif cwd_state main_cwd_state; /* True global */ @@ -145,12 +149,12 @@ static int php_is_file_ok(const cwd_state *state) return (1); } -static void cwd_globals_ctor(zend_cwd_globals *cwd_globals) +static void cwd_globals_ctor(virtual_cwd_globals *cwd_globals) { CWD_STATE_COPY(&cwd_globals->cwd, &main_cwd_state); } -static void cwd_globals_dtor(zend_cwd_globals *cwd_globals) +static void cwd_globals_dtor(virtual_cwd_globals *cwd_globals) { CWD_STATE_FREE(&cwd_globals->cwd); } @@ -167,7 +171,12 @@ CWD_API void virtual_cwd_startup(void) main_cwd_state.cwd = strdup(cwd); main_cwd_state.cwd_length = strlen(cwd); - ZEND_INIT_MODULE_GLOBALS(cwd, cwd_globals_ctor, cwd_globals_dtor); +#ifdef ZTS + cwd_globals_id = ts_allocate_id(sizeof(virtual_cwd_globals), (ts_allocate_ctor) cwd_globals_ctor, (ts_allocate_dtor) cwd_globals_dtor); +#else + cwd_globals_ctor(&cwd_globals); +#endif + #if defined(ZEND_WIN32) && defined(ZTS) cwd_mutex = tsrm_mutex_alloc(); #endif diff --git a/main/php_virtual_cwd.h b/main/php_virtual_cwd.h index 03b100d8c2..6c15ecc427 100644 --- a/main/php_virtual_cwd.h +++ b/main/php_virtual_cwd.h @@ -118,17 +118,17 @@ CWD_API int virtual_chown(const char *filename, uid_t owner, gid_t group); CWD_API int virtual_file_ex(cwd_state *state, const char *path, verify_path_func verify_path); -ZEND_BEGIN_MODULE_GLOBALS(cwd) +typedef struct _virtual_cwd_globals { cwd_state cwd; -ZEND_END_MODULE_GLOBALS(cwd) +} virtual_cwd_globals; #ifdef ZTS -# define CWDLS_D zend_cwd_globals *cwd_globals +# define CWDLS_D virtual_cwd_globals *cwd_globals # define CWDLS_DC , CWDLS_D # define CWDLS_C cwd_globals # define CWDLS_CC , CWDLS_C # define CWDG(v) (cwd_globals->v) -# define CWDLS_FETCH() zend_cwd_globals *cwd_globals = ts_resource(cwd_globals_id) +# define CWDLS_FETCH() virtual_cwd_globals *cwd_globals = ts_resource(cwd_globals_id) #else # define CWDLS_D void # define CWDLS_DC