Browse Source

Fix bug #17570.

migration/unlabaled-1.1.2
Andrei Zmievski 24 years ago
parent
commit
27255d7419
  1. 25
      ext/ereg/ereg.c
  2. 4
      ext/ereg/php_ereg.h
  3. 25
      ext/standard/reg.c
  4. 4
      ext/standard/reg.h

25
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;
}

4
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);

25
ext/standard/reg.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;
}

4
ext/standard/reg.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);

Loading…
Cancel
Save