summaryrefslogtreecommitdiff
path: root/Zend/zend_exceptions.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2016-06-22 17:28:59 +0300
committerDmitry Stogov <dmitry@zend.com>2016-06-22 17:28:59 +0300
commitf8faffe37edd74e0314f74436825bfcf5be78a49 (patch)
treef96c57e018ef6dfa650f3058e55a00c4392f392a /Zend/zend_exceptions.c
parent6f40b01dee4adc72a79db47eb417e6d453b2d019 (diff)
parent3c84e5e1ceff8b7a17c3047c5ade822067a55a70 (diff)
downloadphp-git-f8faffe37edd74e0314f74436825bfcf5be78a49.tar.gz
Merge branch 'PHP-7.0'
* PHP-7.0: Allow "proxy" ovjects to substitute their class names through get_class_name() handler (similar to var_dump() and others).
Diffstat (limited to 'Zend/zend_exceptions.c')
-rw-r--r--Zend/zend_exceptions.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/Zend/zend_exceptions.c b/Zend/zend_exceptions.c
index 047c115472..f73dde1a97 100644
--- a/Zend/zend_exceptions.c
+++ b/Zend/zend_exceptions.c
@@ -527,11 +527,13 @@ static void _build_trace_args(zval *arg, smart_str *str) /* {{{ */
case IS_ARRAY:
smart_str_appends(str, "Array, ");
break;
- case IS_OBJECT:
+ case IS_OBJECT: {
+ zend_string *class_name = Z_OBJ_HANDLER_P(arg, get_class_name)(Z_OBJ_P(arg));
smart_str_appends(str, "Object(");
- smart_str_appends(str, ZSTR_VAL(Z_OBJCE_P(arg)->name));
+ smart_str_appends(str, ZSTR_VAL(class_name));
smart_str_appends(str, "), ");
break;
+ }
}
}
/* }}} */