From d1e3622fcc5cbe35a4ffa6ee7b4bf7d2431dffc1 Mon Sep 17 00:00:00 2001 From: foobar Date: Fri, 26 Jul 2002 22:57:14 +0000 Subject: [PATCH] - Fix bug: #18509, e.g. setting CURLOPT_BINARYTRANSFER succeeds always. - Also set the binary mode ONLY if the passed value is true.. --- ext/curl/curl.c | 9 ++++++--- 1 file 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); -- 2.40.0