From: Zeev Suraski Date: Thu, 2 Nov 2000 23:17:55 +0000 (+0000) Subject: Fix bug #7599 X-Git-Tag: php-4.0.4RC3~365 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6053f2a1189ce275350e3a934cc6fcd7df64a04c;p=php Fix bug #7599 --- 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);