diff options
author | Dmitry Stogov <dmitry@php.net> | 2004-04-01 10:47:44 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2004-04-01 10:47:44 +0000 |
commit | 40bb7344525b76d0de051cd59f0f6b6436bd53a4 (patch) | |
tree | c6baca4f17c4c6e50998d7f04829f58643a91722 /ext/soap/php_packet_soap.c | |
parent | 88c17817a90e1c6a559ca128550b88ec0cd2171e (diff) | |
download | php-git-40bb7344525b76d0de051cd59f0f6b6436bd53a4.tar.gz |
Some small improvments, support for new style constructors, support for exceptions other then SoapFault
Diffstat (limited to 'ext/soap/php_packet_soap.c')
-rw-r--r-- | ext/soap/php_packet_soap.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/ext/soap/php_packet_soap.c b/ext/soap/php_packet_soap.c index f29193dbd1..2fb8816a8c 100644 --- a/ext/soap/php_packet_soap.c +++ b/ext/soap/php_packet_soap.c @@ -332,11 +332,14 @@ int parse_packet_soap(zval *this_ptr, char *buffer, int buffer_size, sdlFunction zval_dtor(return_value); ZVAL_NULL(return_value); } else if (param_count == 1) { - zval *tmp = *(zval**)Z_ARRVAL_P(return_value)->pListHead->pData; - tmp->refcount++; + zval **tmp; + + zend_hash_internal_pointer_reset(Z_ARRVAL_P(return_value)); + zend_hash_get_current_data(Z_ARRVAL_P(return_value), (void**)&tmp); + (*tmp)->refcount++; zval_dtor(return_value); - *return_value = *tmp; - FREE_ZVAL(tmp); + *return_value = **tmp; + FREE_ZVAL(*tmp); } } |