From 78034592426e361bf8a5d9542273dc72a4bd95b3 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Thu, 7 Dec 2017 11:59:58 +0300 Subject: [PATCH] Wrap functions necessary only for ZTS build with #ifdef --- Zend/zend_constants.c | 13 ++++++------- Zend/zend_constants.h | 2 ++ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c index 6e96ce7fc9..1eda6daefd 100644 --- a/Zend/zend_constants.c +++ b/Zend/zend_constants.c @@ -44,21 +44,19 @@ void free_zend_constant(zval *zv) } +#ifdef ZTS static void copy_zend_constant(zval *zv) { zend_constant *c = Z_PTR_P(zv); - Z_PTR_P(zv) = pemalloc(sizeof(zend_constant), c->flags & CONST_PERSISTENT); + ZEND_ASSERT(c->flags & CONST_PERSISTENT); + Z_PTR_P(zv) = pemalloc(sizeof(zend_constant), 1); memcpy(Z_PTR_P(zv), c, sizeof(zend_constant)); c = Z_PTR_P(zv); c->name = zend_string_copy(c->name); - if (!(c->flags & CONST_PERSISTENT)) { - zval_copy_ctor(&c->value); - } else { - if (Z_TYPE(c->value) == IS_STRING) { - Z_STR(c->value) = zend_string_dup(Z_STR(c->value), 1); - } + if (Z_TYPE(c->value) == IS_STRING) { + Z_STR(c->value) = zend_string_dup(Z_STR(c->value), 1); } } @@ -67,6 +65,7 @@ void zend_copy_constants(HashTable *target, HashTable *source) { zend_hash_copy(target, source, copy_zend_constant); } +#endif static int clean_module_constant(zval *el, void *arg) diff --git a/Zend/zend_constants.h b/Zend/zend_constants.h index 3bbe9a81da..fae72e5bf9 100644 --- a/Zend/zend_constants.h +++ b/Zend/zend_constants.h @@ -75,7 +75,9 @@ ZEND_API void zend_register_double_constant(const char *name, size_t name_len, d ZEND_API void zend_register_string_constant(const char *name, size_t name_len, char *strval, int flags, int module_number); ZEND_API void zend_register_stringl_constant(const char *name, size_t name_len, char *strval, size_t strlen, int flags, int module_number); ZEND_API int zend_register_constant(zend_constant *c); +#ifdef ZTS void zend_copy_constants(HashTable *target, HashTable *sourc); +#endif ZEND_API zend_constant* ZEND_FASTCALL zend_quick_get_constant(const zval *key, uint32_t flags); END_EXTERN_C() -- 2.40.0