]> granicus.if.org Git - php/commitdiff
- Fix bug: #18509, e.g. setting CURLOPT_BINARYTRANSFER succeeds always.
authorfoobar <sniper@php.net>
Fri, 26 Jul 2002 22:57:14 +0000 (22:57 +0000)
committerfoobar <sniper@php.net>
Fri, 26 Jul 2002 22:57:14 +0000 (22:57 +0000)
- Also set the binary mode ONLY if the passed value is true..

ext/curl/curl.c

index b88334217a6672a7de3a2bc718f5a9b920b8c56c..6c47a6daf98336102323c59bd597739f4a1abeb6 100644 (file)
@@ -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);