diff options
| author | Zeev Suraski <zeev@php.net> | 2000-11-02 23:17:55 +0000 |
|---|---|---|
| committer | Zeev Suraski <zeev@php.net> | 2000-11-02 23:17:55 +0000 |
| commit | 6053f2a1189ce275350e3a934cc6fcd7df64a04c (patch) | |
| tree | dc47d68efe93c773a89c8f2d0d9488aa8b982b96 | |
| parent | d0ec3df2884f58b7d7defb2e6a43e6b060789805 (diff) | |
| download | php-git-6053f2a1189ce275350e3a934cc6fcd7df64a04c.tar.gz | |
Fix bug #7599
| -rw-r--r-- | Zend/zend.c | 12 |
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); |
