summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>2000-11-02 23:17:55 +0000
committerZeev Suraski <zeev@php.net>2000-11-02 23:17:55 +0000
commit6053f2a1189ce275350e3a934cc6fcd7df64a04c (patch)
treedc47d68efe93c773a89c8f2d0d9488aa8b982b96
parentd0ec3df2884f58b7d7defb2e6a43e6b060789805 (diff)
downloadphp-git-6053f2a1189ce275350e3a934cc6fcd7df64a04c.tar.gz
Fix bug #7599
-rw-r--r--Zend/zend.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/Zend/zend.c b/Zend/zend.c
index 710cf2b2f4..45f351436b 100644
--- a/Zend/zend.c
+++ b/Zend/zend.c
@@ -198,11 +198,23 @@ ZEND_API void zend_print_zval_r_ex(zend_write_func_t write_func, zval *expr, int
switch(expr->type) {
case IS_ARRAY:
ZEND_PUTS("Array\n");
+ if (++expr->value.ht->nApplyCount>1) {
+ ZEND_PUTS(" *RECURSION*");
+ expr->value.ht->nApplyCount=0;
+ return;
+ }
print_hash(expr->value.ht,indent);
+ expr->value.ht->nApplyCount--;
break;
case IS_OBJECT:
+ if (++expr->value.obj.properties->nApplyCount>1) {
+ ZEND_PUTS(" *RECURSION*");
+ expr->value.obj.properties->nApplyCount=0;
+ return;
+ }
zend_printf("%s Object\n", expr->value.obj.ce->name);
print_hash(expr->value.obj.properties, indent);
+ expr->value.obj.properties->nApplyCount--;
break;
default:
zend_print_variable(expr);