]> granicus.if.org Git - php/commitdiff
- Simplify and make work in all modes
authorMarcus Boerger <helly@php.net>
Sun, 14 Aug 2005 21:26:01 +0000 (21:26 +0000)
committerMarcus Boerger <helly@php.net>
Sun, 14 Aug 2005 21:26:01 +0000 (21:26 +0000)
Zend/zend.c
ext/standard/var.c

index 8a35f442a394743b02a70c7a63e9f0364c96500e..bb3019ff294671f2efcfc8f178e43db7dee49e9e 100644 (file)
@@ -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:
index c3ec12bfa141f545c106670b103953b4cea91d7b..8df20cb98fd363bc29d958f77fe6ced9db6e9a7a 100644 (file)
@@ -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");
        }