summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2017-12-07 11:59:58 +0300
committerDmitry Stogov <dmitry@zend.com>2017-12-07 11:59:58 +0300
commit78034592426e361bf8a5d9542273dc72a4bd95b3 (patch)
treef3b187cef5c4b0ce8a36eaf1873f06615a537e01
parent91507ba6e8b46eae304b571af1061462c7987719 (diff)
downloadphp-git-78034592426e361bf8a5d9542273dc72a4bd95b3.tar.gz
Wrap functions necessary only for ZTS build with #ifdef
-rw-r--r--Zend/zend_constants.c13
-rw-r--r--Zend/zend_constants.h2
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()