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);