]> granicus.if.org Git - php/commitdiff
fix curl_init()
authorAntony Dovgal <tony2001@php.net>
Tue, 1 Jul 2008 08:10:47 +0000 (08:10 +0000)
committerAntony Dovgal <tony2001@php.net>
Tue, 1 Jul 2008 08:10:47 +0000 (08:10 +0000)
"s" in HEAD accepts zstr

ext/curl/interface.c

index 395fcb18031978ba08ec727bbffdb79ad7d86b65..b2f3cbeb35d3ec309c4b79853b877f3f054c1395 100644 (file)
@@ -1089,17 +1089,17 @@ PHP_FUNCTION(curl_init)
 {
        php_curl        *ch;
        CURL            *cp;
-       char            *src = NULL;
+       zstr            src = NULL_ZSTR;
        int             src_len;
        zend_uchar      src_type;
 
-        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|t", &src, &src_len, &src_type) == FAILURE) {
-                RETURN_FALSE;
-        }
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|t", &src, &src_len, &src_type) == FAILURE) {
+               RETURN_FALSE;
+       }
 
-       if (src && src_type == IS_UNICODE) {
-               src = zend_unicode_to_ascii((UChar*)src, src_len TSRMLS_CC);
-               if (!src) {
+       if (src.v && src_type == IS_UNICODE) {
+               src.s = zend_unicode_to_ascii((UChar*)src.u, src_len TSRMLS_CC);
+               if (!src.s) {
                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "Binary or ASCII-Unicode string expected, non-ASCII-Unicode string received"); 
                        RETURN_FALSE;
                }
@@ -1139,10 +1139,10 @@ PHP_FUNCTION(curl_init)
        curl_easy_setopt(ch->cp, CURLOPT_NOSIGNAL, 1);
 #endif
 
-       if (src) {
+       if (src.v) {
                char *urlcopy;
 
-               urlcopy = estrndup(src, src_len);
+               urlcopy = estrndup(src.s, src_len);
                curl_easy_setopt(ch->cp, CURLOPT_URL, urlcopy);
                zend_llist_add_element(&ch->to_free.str, &urlcopy);
        }