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/ereg | |
parent | 0c5538d077029b6701aa277275d11adc5696f415 (diff) | |
download | php-git-27255d741935e54ce20bcfe6a8809214bee15e2a.tar.gz |
Fix bug #17570.
Diffstat (limited to 'ext/ereg')
-rw-r--r-- | ext/ereg/ereg.c | 25 | ||||
-rw-r--r-- | ext/ereg/php_ereg.h | 4 |
2 files changed, 14 insertions, 15 deletions
diff --git a/ext/ereg/ereg.c b/ext/ereg/ereg.c index 6d67f17e40..b30d0d527b 100644 --- a/ext/ereg/ereg.c +++ b/ext/ereg/ereg.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; } diff --git a/ext/ereg/php_ereg.h b/ext/ereg/php_ereg.h index 38c99837e0..92947eaa92 100644 --- a/ext/ereg/php_ereg.h +++ b/ext/ereg/php_ereg.h @@ -32,9 +32,9 @@ PHP_FUNCTION(split); PHP_FUNCTION(spliti); PHPAPI PHP_FUNCTION(sql_regcase); -typedef struct { +ZEND_BEGIN_MODULE_GLOBALS(reg) HashTable ht_rc; -} php_reg_globals; +ZEND_END_MODULE_GLOBALS(reg) PHP_MINIT_FUNCTION(regex); PHP_MSHUTDOWN_FUNCTION(regex); |