diff options
author | Dmitry Stogov <dmitry@zend.com> | 2013-03-14 14:19:41 +0400 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2013-03-14 14:19:41 +0400 |
commit | dd1c358d1bf8fd492e39d46f93878d47a3b6d257 (patch) | |
tree | 5c8923188500c17d085a289a0c70f610f521b9cb /ext/soap/php_encoding.c | |
parent | d77c865aff794826f6286c078268db6a005fea33 (diff) | |
parent | c09652c2899dd4149fe3187b5b50f6b3c54da384 (diff) | |
download | php-git-dd1c358d1bf8fd492e39d46f93878d47a3b6d257.tar.gz |
Merge branch 'PHP-5.5' of git.php.net:php-src into PHP-5.5
* 'PHP-5.5' of git.php.net:php-src:
fix the fix
fix for bug #63530 mysqlnd_stmt::bind_one_parameter uses wrong alloc for stmt->param_bind
Forgot to remove some now unused variables
Add support for non-scalar Iterator keys in foreach
fixed headers order
- Updated to version 2013.2 (2013b)
fixed the test
Fixed bug #64370 (microtime(true) less than $_SERVER['REQUEST_TIME_FLOAT'])
Disable zend_always_inline in debug build
Diffstat (limited to 'ext/soap/php_encoding.c')
-rw-r--r-- | ext/soap/php_encoding.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/ext/soap/php_encoding.c b/ext/soap/php_encoding.c index 897956d91b..5cec3e558e 100644 --- a/ext/soap/php_encoding.c +++ b/ext/soap/php_encoding.c @@ -2313,10 +2313,6 @@ static xmlNodePtr to_xml_array(encodeTypePtr type, zval *data, int style, xmlNod zend_object_iterator *iter; zend_class_entry *ce = Z_OBJCE_P(data); zval **val; - char *str_key; - uint str_key_len; - ulong int_key; - int key_type; ALLOC_ZVAL(array_copy); INIT_PZVAL(array_copy); @@ -2345,19 +2341,14 @@ static xmlNodePtr to_xml_array(encodeTypePtr type, zval *data, int style, xmlNod goto iterator_done; } if (iter->funcs->get_current_key) { - key_type = iter->funcs->get_current_key(iter, &str_key, &str_key_len, &int_key TSRMLS_CC); + zval key; + iter->funcs->get_current_key(iter, &key TSRMLS_CC); if (EG(exception)) { goto iterator_done; } - switch(key_type) { - case HASH_KEY_IS_STRING: - add_assoc_zval_ex(array_copy, str_key, str_key_len, *val); - efree(str_key); - break; - case HASH_KEY_IS_LONG: - add_index_zval(array_copy, int_key, *val); - break; - } + array_set_zval_key(Z_ARRVAL_P(array_copy), &key, *val); + zval_ptr_dtor(val); + zval_dtor(&key); } else { add_next_index_zval(array_copy, *val); } |