jorton Wed Jan 5 16:33:57 2005 EDT Modified files: /php-src/ext/curl interface.c Log: Fix #31413: curl POSTFIELDS usage on 64-bit platforms. http://cvs.php.net/diff.php/php-src/ext/curl/interface.c?r1=1.53&r2=1.54&ty=u Index: php-src/ext/curl/interface.c diff -u php-src/ext/curl/interface.c:1.53 php-src/ext/curl/interface.c:1.54 --- php-src/ext/curl/interface.c:1.53 Thu Nov 18 11:35:04 2004 +++ php-src/ext/curl/interface.c Wed Jan 5 16:33:56 2005 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: interface.c,v 1.53 2004/11/18 16:35:04 rrichards Exp $ */ +/* $Id: interface.c,v 1.54 2005/01/05 21:33:56 jorton Exp $ */ #define ZEND_INCLUDE_FULL_WINDOWS_HEADERS @@ -1096,18 +1096,22 @@ zend_hash_get_current_key_ex(postfields, &string_key, &string_key_len, &num_key, 0, NULL); postval = Z_STRVAL_PP(current); + + /* The arguments after _NAMELENGTH and _CONTENTSLENGTH + * must be explicitly cast to long in curl_formadd + * use since curl needs a long not an int. */ if (*postval == '@') { error = curl_formadd(&first, &last, CURLFORM_COPYNAME, string_key, - CURLFORM_NAMELENGTH, string_key_len - 1, + CURLFORM_NAMELENGTH, (long)string_key_len - 1, CURLFORM_FILE, ++postval, CURLFORM_END); } else { error = curl_formadd(&first, &last, CURLFORM_COPYNAME, string_key, - CURLFORM_NAMELENGTH, string_key_len - 1, + CURLFORM_NAMELENGTH, (long)string_key_len - 1, CURLFORM_COPYCONTENTS, postval, - CURLFORM_CONTENTSLENGTH, Z_STRLEN_PP(current), + CURLFORM_CONTENTSLENGTH, (long)Z_STRLEN_PP(current), CURLFORM_END); } }
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php