diff options
author | Nikita Popov <nikic@php.net> | 2014-10-09 19:15:07 +0200 |
---|---|---|
committer | Nikita Popov <nikic@php.net> | 2014-10-09 20:48:27 +0200 |
commit | df79b9b27af70afe502979c84a981d36ed9d86a8 (patch) | |
tree | 4a642d706985c960bbfeea70f195aeefe8eb4631 /Zend/zend_exceptions.c | |
parent | c061c8294514fb8eae7b96f77839312244a50048 (diff) | |
download | php-git-df79b9b27af70afe502979c84a981d36ed9d86a8.tar.gz |
Update get_class_name semantics
* get_class_name is now only used for displaying the class name
in debugging functions like var_dump, print_r, etc. It is no
longer used in get_class() etc.
* As it is no longer used in get_parent_class() the parent
argument is now gone. This also fixes incorrect parent classes
being reported in COM.
* get_class_name is now always required (previously some places
made it optional and some required it) and is also required
to return a non-NULL value.
* Remove zend_get_object_classname. This also fixes a number of
potential leaks due to incorrect usage of this function.
Diffstat (limited to 'Zend/zend_exceptions.c')
-rw-r--r-- | Zend/zend_exceptions.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/Zend/zend_exceptions.c b/Zend/zend_exceptions.c index 6e4ee2fd30..f9c1a509a6 100644 --- a/Zend/zend_exceptions.c +++ b/Zend/zend_exceptions.c @@ -89,11 +89,8 @@ ZEND_API void zend_throw_exception_internal(zval *exception TSRMLS_DC) /* {{{ */ { #ifdef HAVE_DTRACE if (DTRACE_EXCEPTION_THROWN_ENABLED()) { - zend_string *classname; - if (exception != NULL) { - classname = zend_get_object_classname(Z_OBJ_P(exception) TSRMLS_CC); - DTRACE_EXCEPTION_THROWN(classname->val); + DTRACE_EXCEPTION_THROWN(Z_OBJ_P(exception)->ce->val); } else { DTRACE_EXCEPTION_THROWN(NULL); } @@ -452,7 +449,7 @@ static void _build_trace_args(zval *arg, smart_str *str TSRMLS_DC) /* {{{ */ break; case IS_OBJECT: smart_str_appends(str, "Object("); - smart_str_append(str, zend_get_object_classname(Z_OBJ_P(arg) TSRMLS_CC)); + smart_str_append(str, Z_OBJCE_P(arg)->name); smart_str_appends(str, "), "); break; } |