summaryrefslogtreecommitdiff
path: root/ext/standard
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard')
-rw-r--r--ext/standard/basic_functions.c2
-rw-r--r--ext/standard/var.c14
2 files changed, 14 insertions, 2 deletions
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index 17ae114502..29e0df1c43 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -2564,7 +2564,7 @@ PHP_FUNCTION(print_r)
php_start_ob_buffer (NULL, 0, 1 TSRMLS_CC);
}
- zend_print_pval_r(var, 0 TSRMLS_CC);
+ zend_print_zval_r(var, 0 TSRMLS_CC);
if (i) {
php_ob_get_buffer (return_value TSRMLS_CC);
diff --git a/ext/standard/var.c b/ext/standard/var.c
index 886142afff..ef53a15d0e 100644
--- a/ext/standard/var.c
+++ b/ext/standard/var.c
@@ -310,12 +310,24 @@ static int php_array_element_export(zval **zv, int num_args, va_list args, zend_
static int php_object_element_export(zval **zv, int num_args, va_list args, zend_hash_key *hash_key)
{
int level;
+ char *prop_name, *class_name;
TSRMLS_FETCH();
level = va_arg(args, int);
if (hash_key->nKeyLength != 0) {
- php_printf("%*cvar $%s = ", level + 1, ' ', hash_key->arKey);
+ php_printf("%*c", level + 1, ' ');
+ zend_unmangle_property_name(hash_key->arKey, &class_name, &prop_name);
+ if (class_name) {
+ if (class_name[0] == '*') {
+ php_printf("protected");
+ } else {
+ php_printf("private");
+ }
+ } else {
+ php_printf("public");
+ }
+ php_printf(" $%s = ", prop_name);
php_var_export(zv, level + 2 TSRMLS_CC);
PUTS (";\n");
}