summaryrefslogtreecommitdiff
path: root/ext/curl/curl.c
diff options
context:
space:
mode:
authorfoobar <sniper@php.net>2002-07-26 22:57:14 +0000
committerfoobar <sniper@php.net>2002-07-26 22:57:14 +0000
commitd1e3622fcc5cbe35a4ffa6ee7b4bf7d2431dffc1 (patch)
treeb36e3cab7bab7205d6303bffdfdb887652f7f65a /ext/curl/curl.c
parentdf0bab2c7b4a3d818d53a9717dbfb49f849237f7 (diff)
downloadphp-git-d1e3622fcc5cbe35a4ffa6ee7b4bf7d2431dffc1.tar.gz
- Fix bug: #18509, e.g. setting CURLOPT_BINARYTRANSFER succeeds always.
- Also set the binary mode ONLY if the passed value is true..
Diffstat (limited to 'ext/curl/curl.c')
-rw-r--r--ext/curl/curl.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/ext/curl/curl.c b/ext/curl/curl.c
index b88334217a..6c47a6daf9 100644
--- a/ext/curl/curl.c
+++ b/ext/curl/curl.c
@@ -614,9 +614,9 @@ PHP_FUNCTION(curl_setopt)
**zoption,
**zvalue;
php_curl *ch;
- CURLcode error;
+ CURLcode error=CURLE_OK;
int option;
-
+
if (ZEND_NUM_ARGS() != 3 ||
zend_get_parameters_ex(3, &zid, &zoption, &zvalue) == FAILURE) {
WRONG_PARAM_COUNT;
@@ -744,7 +744,10 @@ PHP_FUNCTION(curl_setopt)
break;
case CURLOPT_BINARYTRANSFER:
convert_to_long_ex(zvalue);
- ch->handlers->write->type = PHP_CURL_BINARY;
+
+ if (Z_LVAL_PP(zvalue)) {
+ ch->handlers->write->type = PHP_CURL_BINARY;
+ }
break;
case CURLOPT_WRITEFUNCTION:
zval_add_ref(zvalue);