diff options
author | Andrei Zmievski <andrei@php.net> | 2002-09-25 14:02:34 +0000 |
---|---|---|
committer | Andrei Zmievski <andrei@php.net> | 2002-09-25 14:02:34 +0000 |
commit | 27255d741935e54ce20bcfe6a8809214bee15e2a (patch) | |
tree | 3da30823c13bc8a0cffda4ef9cfe257cf851b92f /ext/standard/reg.c | |
parent | 0c5538d077029b6701aa277275d11adc5696f415 (diff) | |
download | php-git-27255d741935e54ce20bcfe6a8809214bee15e2a.tar.gz |
Fix bug #17570.
Diffstat (limited to 'ext/standard/reg.c')
-rw-r--r-- | ext/standard/reg.c | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/ext/standard/reg.c b/ext/standard/reg.c index 6d67f17e40..b30d0d527b 100644 --- a/ext/standard/reg.c +++ b/ext/standard/reg.c @@ -26,11 +26,7 @@ #include "reg.h" #include "ext/standard/info.h" -#ifdef ZTS -int reg_globals_id; -#else -static php_reg_globals reg_globals; -#endif +ZEND_DECLARE_MODULE_GLOBALS(reg) typedef struct { regex_t preg; @@ -75,25 +71,28 @@ static void _free_reg_cache(reg_cache *rc) #undef regcomp #define regcomp(a, b, c) _php_regcomp(a, b, c) -static void php_reg_init_globals(php_reg_globals *reg_globals TSRMLS_DC) +static void php_reg_init_globals(zend_reg_globals *reg_globals TSRMLS_DC) { zend_hash_init(®_globals->ht_rc, 0, NULL, (void (*)(void *)) _free_reg_cache, 1); } -PHP_MINIT_FUNCTION(regex) +static void php_reg_destroy_globals(zend_reg_globals *reg_globals TSRMLS_DC) { -#ifdef ZTS - ts_allocate_id(®_globals_id, sizeof(php_reg_globals), (ts_allocate_ctor) php_reg_init_globals, NULL); -#else - php_reg_init_globals(®_globals TSRMLS_CC); -#endif + zend_hash_destroy(®_globals->ht_rc); +} +PHP_MINIT_FUNCTION(regex) +{ + ZEND_INIT_MODULE_GLOBALS(reg, php_reg_init_globals, php_reg_destroy_globals); return SUCCESS; } PHP_MSHUTDOWN_FUNCTION(regex) { - zend_hash_destroy(®(ht_rc)); +#ifndef ZTS + php_reg_destroy_globals(®_globals TSRMLS_CC); +#endif + return SUCCESS; } |