summaryrefslogtreecommitdiff
path: root/php
diff options
context:
space:
mode:
authorJoe George <joe@zeroc.com>2016-05-27 15:43:26 -0400
committerJoe George <joe@zeroc.com>2016-05-27 15:46:50 -0400
commit025f28d10b71cf9bdd99dd47dd4bb973f1b30965 (patch)
tree1fd8cddc5c533748af6aeb8e5dc8cb12db5bb721 /php
parentFix unicode test LICENSE (diff)
downloadice-025f28d10b71cf9bdd99dd47dd4bb973f1b30965.tar.bz2
ice-025f28d10b71cf9bdd99dd47dd4bb973f1b30965.tar.xz
ice-025f28d10b71cf9bdd99dd47dd4bb973f1b30965.zip
PHP 7 fix for printing Exception info
Diffstat (limited to 'php')
-rw-r--r--php/src/php7/Types.cpp8
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))