]> granicus.if.org Git - php/commitdiff
- MFH Use object handler get in the same way as the rest of the engine does
authorMarcus Boerger <helly@php.net>
Thu, 2 Mar 2006 00:45:28 +0000 (00:45 +0000)
committerMarcus Boerger <helly@php.net>
Thu, 2 Mar 2006 00:45:28 +0000 (00:45 +0000)
Zend/zend.c

index 8c915865101e97bc2aaca329e9b388cc26d37f89..fe009ffd7c9dbc9f4471e1d619bb7f13ae097fad 100644 (file)
@@ -237,16 +237,19 @@ ZEND_API void zend_make_printable_zval(zval *expr, zval *expr_copy, int *use_cop
                                } else {
                                        if(Z_OBJ_HANDLER_P(expr, get)) {
                                                zval *z = Z_OBJ_HANDLER_P(expr, get)(expr TSRMLS_CC);
+
+                                               z->refcount++;
                                                if(Z_TYPE_P(z) != IS_OBJECT) {
                                                        zend_make_printable_zval(z, expr_copy, use_copy);
                                                        if (*use_copy) {
-                                                               FREE_ZVAL(z);
+                                                               zval_ptr_dtor(&z);
                                                        } else {
                                                                ZVAL_ZVAL(expr_copy, z, 0, 1);
                                                                *use_copy = 1;
                                                        }
                                                        return;
                                                }
+                                               zval_ptr_dtor(&z);
                                        }
                                }
                                if (EG(exception)) {