}
#define HTTP_CURL_OPT_STRING_EX(keyname, optname, obdc) \
if (!strcasecmp(key, keyname)) { \
- zval *copy = http_request_option_cache(request, keyname, zval_copy(IS_STRING, *param)); \
+ zval *copy = http_request_option_cache_ex(request, keyname, strlen(keyname)+1, 0, zval_copy(IS_STRING, *param)); \
if (obdc) { \
HTTP_CHECK_OPEN_BASEDIR(Z_STRVAL_P(copy), return FAILURE); \
} \
}
#define HTTP_CURL_OPT_LONG_EX(keyname, optname) \
if (!strcasecmp(key, keyname)) { \
- zval *copy = http_request_option_cache(request, keyname, zval_copy(IS_LONG, *param)); \
+ zval *copy = http_request_option_cache_ex(request, keyname, strlen(keyname)+1, 0, zval_copy(IS_LONG, *param)); \
HTTP_CURL_OPT(optname, Z_LVAL_P(copy)); \
key = NULL; \
continue; \
add_assoc_double(param, "ultotal", ultotal);
add_assoc_double(param, "ulnow", ulnow);
- call_user_function(EG(function_table), NULL, request->_progress_callback, &retval, 1, ¶m TSRMLS_CC);
+ with_error_handling(EH_NORMAL, NULL) {
+ call_user_function(EG(function_table), NULL, request->_progress_callback, &retval, 1, ¶m TSRMLS_CC);
+ } end_error_handling();
zval_ptr_dtor(¶m);
zval_dtor(&retval);