summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrei Zmievski <andrei@php.net>2001-07-30 15:41:11 +0000
committerAndrei Zmievski <andrei@php.net>2001-07-30 15:41:11 +0000
commit8fca87adb52eac356effd749f447eae7a805695a (patch)
tree76ab0217546d04bd1730486115563ca6257542eb
parent33e059062b868bf35c30d34fa2b518c4bc0d7773 (diff)
downloadphp-git-8fca87adb52eac356effd749f447eae7a805695a.tar.gz
Updated to match TSRM changes.
-rw-r--r--ext/pcre/php_pcre.c35
-rw-r--r--ext/pcre/php_pcre.h17
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