From 46f74e3523950ca04a2bc583cbc2f9739654d371 Mon Sep 17 00:00:00 2001 From: Rasmus Lerdorf Date: Fri, 23 Sep 2011 15:19:48 +0000 Subject: [PATCH] Add a test and declare the local vars locally --- ext/curl/interface.c | 9 +++--- ext/curl/tests/bug55767.phpt | 53 ++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 4 deletions(-) create mode 100644 ext/curl/tests/bug55767.phpt diff --git a/ext/curl/interface.c b/ext/curl/interface.c index bf74b57488..26b7ee0a7a 100644 --- a/ext/curl/interface.c +++ b/ext/curl/interface.c @@ -2007,10 +2007,6 @@ string_copy: HashTable *postfields; struct HttpPost *first = NULL; struct HttpPost *last = NULL; - char *postval; - char *string_key = NULL; - ulong num_key; - uint string_key_len; postfields = HASH_OF(*zvalue); if (!postfields) { @@ -2023,11 +2019,16 @@ string_copy: zend_hash_get_current_data(postfields, (void **) ¤t) == SUCCESS; zend_hash_move_forward(postfields) ) { + char *postval; + char *string_key = NULL; + uint string_key_len; + ulong num_key; SEPARATE_ZVAL(current); convert_to_string_ex(current); zend_hash_get_current_key_ex(postfields, &string_key, &string_key_len, &num_key, 0, NULL); + /* Pretend we have a string_key here */ if(!string_key) { spprintf(&string_key, 0, "%ld", num_key); diff --git a/ext/curl/tests/bug55767.phpt b/ext/curl/tests/bug55767.phpt new file mode 100644 index 0000000000..321f67ba60 --- /dev/null +++ b/ext/curl/tests/bug55767.phpt @@ -0,0 +1,53 @@ +--TEST-- +Test curl_opt() function with POST params from array with a numeric key +--SKIPIF-- + +--FILE-- +'World','Foo'=>'Bar',100=>'John Doe')); + curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use + + $curl_content = curl_exec($ch); + curl_close($ch); + + var_dump( $curl_content ); +?> +===DONE=== +--EXPECTF-- +*** Testing curl sending through GET an POST *** +string(203) "array(2) { + ["test"]=> + string(7) "getpost" + ["get_param"]=> + string(11) "Hello World" +} +array(3) { + ["Hello"]=> + string(5) "World" + ["Foo"]=> + string(3) "Bar" + [100]=> + string(8) "John Doe" +} +" +===DONE=== -- 2.40.0