diff options
author | Joe George <joe@zeroc.com> | 2016-05-27 15:43:26 -0400 |
---|---|---|
committer | Joe George <joe@zeroc.com> | 2016-05-27 15:46:50 -0400 |
commit | 025f28d10b71cf9bdd99dd47dd4bb973f1b30965 (patch) | |
tree | 1fd8cddc5c533748af6aeb8e5dc8cb12db5bb721 /php/src | |
parent | Fix unicode test LICENSE (diff) | |
download | ice-025f28d10b71cf9bdd99dd47dd4bb973f1b30965.tar.bz2 ice-025f28d10b71cf9bdd99dd47dd4bb973f1b30965.tar.xz ice-025f28d10b71cf9bdd99dd47dd4bb973f1b30965.zip |
PHP 7 fix for printing Exception info
Diffstat (limited to 'php/src')
-rw-r--r-- | php/src/php7/Types.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/php/src/php7/Types.cpp b/php/src/php7/Types.cpp index a88731f83c4..6fa993d360c 100644 --- a/php/src/php7/Types.cpp +++ b/php/src/php7/Types.cpp @@ -3230,6 +3230,10 @@ IcePHP::ExceptionInfo::printMembers(zval* zv, IceUtilInternal::Output& out, Prin zval* val = zend_hash_str_find(Z_OBJPROP_P(zv), STRCAST(member->name.c_str()), static_cast<int>(member->name.size())); + + assert(Z_TYPE_P(val) == IS_INDIRECT); + val = Z_INDIRECT_P(val); + if(val) { member->type->print(val, out, history); @@ -3248,6 +3252,10 @@ IcePHP::ExceptionInfo::printMembers(zval* zv, IceUtilInternal::Output& out, Prin zval* val = zend_hash_str_find(Z_OBJPROP_P(zv), STRCAST(member->name.c_str()), static_cast<int>(member->name.size())); + + assert(Z_TYPE_P(val) == IS_INDIRECT); + val = Z_INDIRECT_P(val); + if(val) { if(isUnset(val)) |