X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=http_request_object.c;h=c72d90818e7dfeb5b29d3d65f67352c67ea3f585;hp=10a26b0ab9f23263bfbde75cc29c2a1ca89262a9;hb=a0414c8466220308c14e57abe15e66e0e17b7108;hpb=4ff2f45b61907d9b943fa6179c03b54257bdfca5 diff --git a/http_request_object.c b/http_request_object.c index 10a26b0..c72d908 100644 --- a/http_request_object.c +++ b/http_request_object.c @@ -439,6 +439,10 @@ PHP_MINIT_FUNCTION(http_request_object) # if HTTP_CURL_VERSION(7,15,2) zend_declare_class_constant_long(THIS_CE, ZEND_STRS("PROXY_SOCKS4")-1, CURLPROXY_SOCKS4 TSRMLS_CC); # endif +#if HTTP_CURL_VERSION(7,18,0) + zend_declare_class_constant_long(THIS_CE, ZEND_STRS("PROXY_SOCKS4A")-1, CURLPROXY_SOCKS5 TSRMLS_CC); + zend_declare_class_constant_long(THIS_CE, ZEND_STRS("PROXY_SOCKS5_HOSTNAME")-1, CURLPROXY_SOCKS5 TSRMLS_CC); +#endif zend_declare_class_constant_long(THIS_CE, ZEND_STRS("PROXY_SOCKS5")-1, CURLPROXY_SOCKS5 TSRMLS_CC); zend_declare_class_constant_long(THIS_CE, ZEND_STRS("PROXY_HTTP")-1, CURLPROXY_HTTP TSRMLS_CC); #endif /* WONKY */ @@ -637,7 +641,7 @@ STATUS _http_request_object_requesthandler(http_request_object *obj, zval *this_ if ( (Z_TYPE_P(options) != IS_ARRAY) || (SUCCESS != zend_hash_find(Z_ARRVAL_P(options), "onprogress", sizeof("onprogress"), (void *) &entry) - || (!zend_is_callable(*entry, 0, NULL)))) { + || (!IS_CALLABLE(*entry, 0, NULL)))) { MAKE_STD_ZVAL(pcb); array_init(pcb); ZVAL_ADDREF(getThis()); @@ -745,7 +749,7 @@ STATUS _http_request_object_responsehandler(http_request_object *obj, zval *this static int apply_pretty_key(void *pDest, int num_args, va_list args, zend_hash_key *hash_key) { - if (hash_key->nKeyLength > 1) { + if (hash_key->arKey && hash_key->nKeyLength > 1) { hash_key->h = zend_hash_func(pretty_key(hash_key->arKey, hash_key->nKeyLength - 1, 1, 0), hash_key->nKeyLength); } return ZEND_HASH_APPLY_KEEP; @@ -781,7 +785,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);