summaryrefslogtreecommitdiff
path: root/ext/ereg
diff options
context:
space:
mode:
authorAndrei Zmievski <andrei@php.net>2002-09-25 14:02:34 +0000
committerAndrei Zmievski <andrei@php.net>2002-09-25 14:02:34 +0000
commit27255d741935e54ce20bcfe6a8809214bee15e2a (patch)
tree3da30823c13bc8a0cffda4ef9cfe257cf851b92f /ext/ereg
parent0c5538d077029b6701aa277275d11adc5696f415 (diff)
downloadphp-git-27255d741935e54ce20bcfe6a8809214bee15e2a.tar.gz
Fix bug #17570.
Diffstat (limited to 'ext/ereg')
-rw-r--r--ext/ereg/ereg.c25
-rw-r--r--ext/ereg/php_ereg.h4
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(&reg_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(&reg_globals_id, sizeof(php_reg_globals), (ts_allocate_ctor) php_reg_init_globals, NULL);
-#else
- php_reg_init_globals(&reg_globals TSRMLS_CC);
-#endif
+ zend_hash_destroy(&reg_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(&REG(ht_rc));
+#ifndef ZTS
+ php_reg_destroy_globals(&reg_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);