summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2013-04-19 21:37:24 +0400
committerDmitry Stogov <dmitry@zend.com>2013-04-19 21:37:24 +0400
commitc7cf9b68b6f63b2b507335719fbbda21df6a7c56 (patch)
tree8ab65ceb64deeb7acce4e994e31407ff187162fb
parent7b7424c34cf00f1e0595b9acfaed44f0bd70c7eb (diff)
downloadphp-git-c7cf9b68b6f63b2b507335719fbbda21df6a7c56.tar.gz
Fixed 5.2 ZTS build
-rw-r--r--ext/opcache/zend_accelerator_util_funcs.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/ext/opcache/zend_accelerator_util_funcs.c b/ext/opcache/zend_accelerator_util_funcs.c
index 75b1561713..33ecf7f183 100644
--- a/ext/opcache/zend_accelerator_util_funcs.c
+++ b/ext/opcache/zend_accelerator_util_funcs.c
@@ -120,10 +120,17 @@ void zend_accel_free_user_functions(HashTable *ht TSRMLS_DC)
ht->pDestructor = orig_dtor;
}
-static int move_user_function(zend_function *function TSRMLS_DC, int num_args, va_list args, zend_hash_key *hash_key)
+static int move_user_function(zend_function *function
+#if ZEND_EXTENSION_API_NO >= PHP_5_3_X_API_NO
+ TSRMLS_DC
+#endif
+ , int num_args, va_list args, zend_hash_key *hash_key)
{
HashTable *function_table = va_arg(args, HashTable *);
(void)num_args; /* keep the compiler happy */
+#if ZEND_EXTENSION_API_NO < PHP_5_3_X_API_NO
+ TSRMLS_FETCH();
+#endif
if (function->type == ZEND_USER_FUNCTION) {
zend_hash_quick_update(function_table, hash_key->arKey, hash_key->nKeyLength, hash_key->h, function, sizeof(zend_function), NULL);
@@ -138,7 +145,11 @@ void zend_accel_move_user_functions(HashTable *src, HashTable *dst TSRMLS_DC)
dtor_func_t orig_dtor = src->pDestructor;
src->pDestructor = NULL;
+#if ZEND_EXTENSION_API_NO < PHP_5_3_X_API_NO
+ zend_hash_apply_with_arguments(src, (apply_func_args_t)move_user_function, 1, dst);
+#else
zend_hash_apply_with_arguments(src TSRMLS_CC, (apply_func_args_t)move_user_function, 1, dst);
+#endif
src->pDestructor = orig_dtor;
}