From bc4202473e2e9324cc835ec745928f8fde6b88ce Mon Sep 17 00:00:00 2001 From: Marcus Boerger Date: Sun, 14 Aug 2005 21:26:01 +0000 Subject: [PATCH] - Simplify and make work in all modes --- Zend/zend.c | 18 ++++++------------ ext/standard/var.c | 23 +++++------------------ 2 files changed, 11 insertions(+), 30 deletions(-) diff --git a/Zend/zend.c b/Zend/zend.c index 8a35f442a3..bb3019ff29 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -264,24 +264,18 @@ static void print_hash(HashTable *ht, int indent, zend_bool is_object TSRMLS_DC) char *prop_name, *class_name; zend_u_unmangle_property_name(key_type==HASH_KEY_IS_UNICODE?IS_UNICODE:IS_STRING, string_key, &class_name, &prop_name); - if (key_type == HASH_KEY_IS_UNICODE) { - zend_printf("%r", prop_name); - } else { - ZEND_PUTS(prop_name); - } + if (class_name) { if (class_name[0]=='*') { - ZEND_PUTS(":protected"); + zend_printf("%R:protected", key_type, prop_name); } else { - zend_printf(":%r:private", class_name); + zend_printf("%R:%R:private", key_type, prop_name, key_type, class_name); } - } - } else { - if (key_type == HASH_KEY_IS_UNICODE) { - zend_printf("%r", string_key); } else { - ZEND_WRITE(string_key, str_len-1); + zend_printf("%R", key_type, prop_name); } + } else { + zend_printf("%R", key_type, string_key); } break; case HASH_KEY_IS_LONG: diff --git a/ext/standard/var.c b/ext/standard/var.c index c3ec12bfa1..8df20cb98f 100644 --- a/ext/standard/var.c +++ b/ext/standard/var.c @@ -149,32 +149,19 @@ static int php_object_property_dump(zval **zv, int num_args, va_list args, zend_ if (hash_key->nKeyLength ==0 ) { /* numeric key */ php_printf("%*c[%ld]=>\n", level + 1, ' ', hash_key->h); } else { /* string key */ + int is_unicode = hash_key->type == IS_UNICODE; + zend_u_unmangle_property_name(hash_key->type, hash_key->u.string, &class_name, &prop_name); php_printf("%*c[", level + 1, ' '); if (class_name) { - if (hash_key->type == IS_STRING) { - php_printf("\""); - PHPWRITE(prop_name, strlen(prop_name)); - } else if (hash_key->type == IS_UNICODE) { - php_printf("u"); - php_var_dump_unicode((UChar*)prop_name, u_strlen((UChar*)prop_name), verbose TSRMLS_CC); - } if (class_name[0]=='*') { - ZEND_PUTS(":protected"); + php_printf("%s\"%R\":protected", is_unicode ? "u" : "", hash_key->type, prop_name); } else { - php_printf(":u"); - php_var_dump_unicode((UChar*)class_name, u_strlen((UChar*)class_name), verbose TSRMLS_CC); - ZEND_PUTS(":private"); + php_printf("%s\"%R\":%s\"%R\":private", is_unicode ? "u" : "", hash_key->type, prop_name, is_unicode ? "u" : "", hash_key->type, class_name); } } else { - if (hash_key->type == IS_STRING) { - php_printf("\""); - PHPWRITE(hash_key->u.string, hash_key->nKeyLength - 1); - } else if (hash_key->type == IS_UNICODE) { - php_printf("u"); - php_var_dump_unicode(hash_key->u.unicode, hash_key->nKeyLength-1, verbose TSRMLS_CC); - } + php_printf("%s\"%R\"", is_unicode ? "u" : "", hash_key->type, prop_name); } ZEND_PUTS("]=>\n"); } -- 2.40.0