summaryrefslogtreecommitdiff
path: root/Zend/zend.c
diff options
context:
space:
mode:
authorStanislav Malyshev <stas@php.net>2003-04-21 17:01:34 +0000
committerStanislav Malyshev <stas@php.net>2003-04-21 17:01:34 +0000
commitad01495a482dc31f56af1a4e79ff29cae2d319f2 (patch)
tree7762cf3f78f2992f5152edd6987cf925c1661765 /Zend/zend.c
parentc5b1314e0561b84cd1639899bf303c993f8e66af (diff)
downloadphp-git-ad01495a482dc31f56af1a4e79ff29cae2d319f2.tar.gz
Change get_class() so that it returns qualified names for namespaced
classes. *HEADS UP*: get_class_name() handler interface is changed, now it should allocate the space it returns with emalloc, and the users free it. If anyone has problems with it or has suggestions how to do it without this - please tell. Also: make function_exists() understand namespaces.
Diffstat (limited to 'Zend/zend.c')
-rw-r--r--Zend/zend.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/Zend/zend.c b/Zend/zend.c
index 995c6f6d75..ddff001b2b 100644
--- a/Zend/zend.c
+++ b/Zend/zend.c
@@ -283,10 +283,10 @@ ZEND_API void zend_print_flat_zval_r(zval *expr TSRMLS_DC)
if (Z_OBJ_HANDLER_P(expr, get_class_name)) {
Z_OBJ_HANDLER_P(expr, get_class_name)(expr, &class_name, &clen, 0 TSRMLS_CC);
}
- if (class_name == NULL) {
- class_name = "Unknown Class";
+ zend_printf("%s Object (", class_name?class_name:"Unknown Class");
+ if(class_name) {
+ efree(class_name);
}
- zend_printf("%s Object (", class_name);
if (Z_OBJ_HANDLER_P(expr, get_properties)) {
properties = Z_OBJPROP_P(expr);
}
@@ -336,10 +336,10 @@ ZEND_API void zend_print_zval_r_ex(zend_write_func_t write_func, zval *expr, int
if (Z_OBJ_HANDLER_P(expr, get_class_name)) {
Z_OBJ_HANDLER_P(expr, get_class_name)(expr, &class_name, &clen, 0 TSRMLS_CC);
}
- if (class_name == NULL) {
- class_name = "Unknown Class";
+ zend_printf("%s Object\n", class_name?class_name:"Unknown Class");
+ if(class_name) {
+ efree(class_name);
}
- zend_printf("%s Object\n", class_name);
if (Z_OBJ_HANDLER_P(expr, get_properties)) {
properties = Z_OBJPROP_P(expr);
}