diff options
author | Andrei Zmievski <andrei@php.net> | 2001-07-30 15:41:11 +0000 |
---|---|---|
committer | Andrei Zmievski <andrei@php.net> | 2001-07-30 15:41:11 +0000 |
commit | 8fca87adb52eac356effd749f447eae7a805695a (patch) | |
tree | 76ab0217546d04bd1730486115563ca6257542eb /ext/pcre | |
parent | 33e059062b868bf35c30d34fa2b518c4bc0d7773 (diff) | |
download | php-git-8fca87adb52eac356effd749f447eae7a805695a.tar.gz |
Updated to match TSRM changes.
Diffstat (limited to 'ext/pcre')
-rw-r--r-- | ext/pcre/php_pcre.c | 35 | ||||
-rw-r--r-- | ext/pcre/php_pcre.h | 17 |
2 files changed, 12 insertions, 40 deletions
diff --git a/ext/pcre/php_pcre.c b/ext/pcre/php_pcre.c index 14309f35a0..a660ec9528 100644 --- a/ext/pcre/php_pcre.c +++ b/ext/pcre/php_pcre.c @@ -40,11 +40,8 @@ #define PREG_REPLACE_EVAL (1<<0) -#ifdef ZTS -int pcre_globals_id; -#else -php_pcre_globals pcre_globals; -#endif + +ZEND_DECLARE_MODULE_GLOBALS(pcre) static void *php_pcre_malloc(size_t size) @@ -69,16 +66,15 @@ static void php_free_pcre_cache(void *data) } -#ifdef ZTS -static void php_pcre_init_globals(php_pcre_globals *pcre_globals TSRMLS_DC) +static void php_pcre_init_globals(zend_pcre_globals *pcre_globals TSRMLS_DC) { - zend_hash_init(&PCRE_G(pcre_cache), 0, NULL, php_free_pcre_cache, 1); + zend_hash_init(&pcre_globals->pcre_cache, 0, NULL, php_free_pcre_cache, 1); } - -static void php_pcre_shutdown_globals(php_pcre_globals *pcre_globals TSRMLS_DC) +#ifdef ZTS +static void php_pcre_shutdown_globals(zend_pcre_globals *pcre_globals TSRMLS_DC) { - zend_hash_destroy(&PCRE_G(pcre_cache)); + zend_hash_destroy(&pcre_globals->pcre_cache); } #endif @@ -96,15 +92,7 @@ PHP_MINFO_FUNCTION(pcre) /* {{{ PHP_MINIT_FUNCTION(pcre) */ static PHP_MINIT_FUNCTION(pcre) { -#ifdef ZTS - ts_allocate_id( - &pcre_globals_id, - sizeof(php_pcre_globals), - (ts_allocate_ctor) php_pcre_init_globals, - (ts_allocate_dtor) php_pcre_shutdown_globals); -#else - zend_hash_init(&PCRE_G(pcre_cache), 0, NULL, php_free_pcre_cache, 1); -#endif + ZEND_INIT_MODULE_GLOBALS(pcre, php_pcre_init_globals, php_pcre_shutdown_globals); REGISTER_LONG_CONSTANT("PREG_PATTERN_ORDER", PREG_PATTERN_ORDER, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PREG_SET_ORDER", PREG_SET_ORDER, CONST_CS | CONST_PERSISTENT); @@ -117,11 +105,6 @@ static PHP_MINIT_FUNCTION(pcre) /* {{{ PHP_MSHUTDOWN_FUNCTION(pcre) */ static PHP_MSHUTDOWN_FUNCTION(pcre) { -#ifndef ZTS - zend_hash_destroy(&PCRE_G(pcre_cache)); -#else - ts_free_id(pcre_globals_id); -#endif return SUCCESS; } /* }}} */ @@ -158,7 +141,7 @@ static pcre* pcre_get_compiled_regex(char *regex, pcre_extra *extra, int *preg_o #endif pcre_cache_entry *pce; pcre_cache_entry new_entry; - PCRE_LS_FETCH(); + TSRMLS_FETCH(); /* Try to lookup the cached regex entry, and if successful, just pass back the compiled pattern, otherwise go on and compile it. */ diff --git a/ext/pcre/php_pcre.h b/ext/pcre/php_pcre.h index 0d00d09854..f566c263c9 100644 --- a/ext/pcre/php_pcre.h +++ b/ext/pcre/php_pcre.h @@ -54,25 +54,14 @@ typedef struct { #endif } pcre_cache_entry; -typedef struct { +ZEND_BEGIN_MODULE_GLOBALS(pcre) HashTable pcre_cache; -} php_pcre_globals; +ZEND_END_MODULE_GLOBALS(pcre) #ifdef ZTS -# define PCRE_LS_D php_pcre_globals *pcre_globals -# define PCRE_LS_DC , PCRE_LS_D -# define PCRE_LS_C pcre_globals -# define PCRE_LS_CC , PCRE_LS_C -# define PCRE_G(v) (pcre_globals->v) -# define PCRE_LS_FETCH() php_pcre_globals *pcre_globals = ts_resource(pcre_globals_id); +# define PCRE_G(v) TSRMG(pcre_globals_id, zend_pcre_globals *, v) #else -# define PCRE_LS_D -# define PCRE_LS_DC -# define PCRE_LS_C -# define PCRE_LS_CC # define PCRE_G(v) (pcre_globals.v) -# define PCRE_LS_FETCH() -extern ZEND_API php_pcre_globals pcre_globals; #endif #else |