From 39cc1a2cc407bc6ca89829cffd1bfafd463720ca Mon Sep 17 00:00:00 2001 From: Michael Wallner Date: Wed, 24 Sep 2008 12:25:57 +0000 Subject: [PATCH] PHP-5.3 zend_hash API compatibility fix --- http_api.c | 4 ++-- http_request_object.c | 2 +- missing.h | 4 ++++ php_http_api.h | 6 +++--- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/http_api.c b/http_api.c index 77b1134..b54da54 100644 --- a/http_api.c +++ b/http_api.c @@ -646,7 +646,7 @@ failure: /* }}} */ /* {{{ array_join */ -int apply_array_append_func(void *pDest, int num_args, va_list args, zend_hash_key *hash_key) +int apply_array_append_func(void *pDest HTTP_ZAPI_HASH_TSRMLS_DC, int num_args, va_list args, zend_hash_key *hash_key) { int flags; char *key = NULL; @@ -684,7 +684,7 @@ int apply_array_append_func(void *pDest, int num_args, va_list args, zend_hash_k return ZEND_HASH_APPLY_KEEP; } -int apply_array_merge_func(void *pDest, int num_args, va_list args, zend_hash_key *hash_key) +int apply_array_merge_func(void *pDest HTTP_ZAPI_HASH_TSRMLS_DC, int num_args, va_list args, zend_hash_key *hash_key) { int flags; char *key = NULL; diff --git a/http_request_object.c b/http_request_object.c index 09d7822..310772a 100644 --- a/http_request_object.c +++ b/http_request_object.c @@ -781,7 +781,7 @@ static inline void _http_request_object_set_options_subr(INTERNAL_FUNCTION_PARAM } } else if (opts) { if (prettify_keys) { - zend_hash_apply_with_arguments(Z_ARRVAL_P(opts), apply_pretty_key, 0, NULL); + zend_hash_apply_with_arguments(Z_ARRVAL_P(opts) HTTP_ZAPI_HASH_TSRMLS_CC, apply_pretty_key, 0, NULL); } ZVAL_ADDREF(opts); add_assoc_zval_ex(new_opts, key, len, opts); diff --git a/missing.h b/missing.h index 0b46545..fa3eda8 100644 --- a/missing.h +++ b/missing.h @@ -18,11 +18,15 @@ #include "php_version.h" #if (PHP_MAJOR_VERSION == 5) && (PHP_MINOR_VERSION >= 3) +# define HTTP_ZAPI_HASH_TSRMLS_CC TSRMLS_CC +# define HTTP_ZAPI_HASH_TSRMLS_DC TSRMLS_DC # define HTTP_ZAPI_CONST_CAST(t) (const t) # define GLOBAL_ERROR_HANDLING EG(error_handling) # define GLOBAL_EXCEPTION_CLASS EG(exception_class) # define IS_CALLABLE(cb_zv, flags, cb_sp) zend_is_callable((cb_zv), (flags), (cb_sp) TSRMLS_CC) #else +# define HTTP_ZAPI_HASH_TSRMLS_CC +# define HTTP_ZAPI_HASH_TSRMLS_DC # define HTTP_ZAPI_CONST_CAST(t) (t) # define GLOBAL_ERROR_HANDLING PG(error_handling) # define GLOBAL_EXCEPTION_CLASS PG(exception_class) diff --git a/php_http_api.h b/php_http_api.h index a490347..4407122 100644 --- a/php_http_api.h +++ b/php_http_api.h @@ -322,10 +322,10 @@ typedef struct _HashKey { #define array_copy(src, dst) zend_hash_copy(dst, src, (copy_ctor_func_t) zval_add_ref, NULL, sizeof(zval *)) #define ARRAY_JOIN_STRONLY 1 #define ARRAY_JOIN_PRETTIFY 2 -#define array_join(src, dst, append, flags) zend_hash_apply_with_arguments(src, (append)?apply_array_append_func:apply_array_merge_func, 2, dst, (int)flags) +#define array_join(src, dst, append, flags) zend_hash_apply_with_arguments(src HTTP_ZAPI_HASH_TSRMLS_CC, (append)?apply_array_append_func:apply_array_merge_func, 2, dst, (int)flags) -extern int apply_array_append_func(void *pDest, int num_args, va_list args, zend_hash_key *hash_key); -extern int apply_array_merge_func(void *pDest, int num_args, va_list args, zend_hash_key *hash_key); +extern int apply_array_append_func(void *pDest HTTP_ZAPI_HASH_TSRMLS_DC, int num_args, va_list args, zend_hash_key *hash_key); +extern int apply_array_merge_func(void *pDest HTTP_ZAPI_HASH_TSRMLS_DC, int num_args, va_list args, zend_hash_key *hash_key); #endif -- 2.30.2