]> granicus.if.org Git - php/commitdiff
Updated to match TSRM changes.
authorAndrei Zmievski <andrei@php.net>
Mon, 30 Jul 2001 15:41:11 +0000 (15:41 +0000)
committerAndrei Zmievski <andrei@php.net>
Mon, 30 Jul 2001 15:41:11 +0000 (15:41 +0000)
ext/pcre/php_pcre.c
ext/pcre/php_pcre.h

index 14309f35a035bb4bc6beba27fa67b926cffca793..a660ec9528f10fc04888741d9d5530e7178554ad 100644 (file)
 
 #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. */
index 0d00d09854bf3f62ad61a92e0a45396f5847f3f3..f566c263c9b18c3f7398d8125097d160aa26f807 100644 (file)
@@ -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