]> granicus.if.org Git - php/commitdiff
- MFH Fix string-conversion and const updating
authorMarcus Boerger <helly@php.net>
Wed, 1 Mar 2006 17:21:04 +0000 (17:21 +0000)
committerMarcus Boerger <helly@php.net>
Wed, 1 Mar 2006 17:21:04 +0000 (17:21 +0000)
Zend/zend.c
Zend/zend_API.c

index 36972dff06a14cff27e487be090354a9c92ec06f..8c915865101e97bc2aaca329e9b388cc26d37f89 100644 (file)
@@ -239,7 +239,12 @@ ZEND_API void zend_make_printable_zval(zval *expr, zval *expr_copy, int *use_cop
                                                zval *z = Z_OBJ_HANDLER_P(expr, get)(expr TSRMLS_CC);
                                                if(Z_TYPE_P(z) != IS_OBJECT) {
                                                        zend_make_printable_zval(z, expr_copy, use_copy);
-                                                       FREE_ZVAL(z);
+                                                       if (*use_copy) {
+                                                               FREE_ZVAL(z);
+                                                       } else {
+                                                               ZVAL_ZVAL(expr_copy, z, 0, 1);
+                                                               *use_copy = 1;
+                                                       }
                                                        return;
                                                }
                                        }
index 45462bde3e26b5a6bbd1fd7886d78d6731247c95..b67887de345fdf8d71d3082942104ddb1e5bac13 100644 (file)
@@ -811,6 +811,7 @@ ZEND_API void zend_update_class_constants(zend_class_entry *class_type TSRMLS_DC
                zend_class_entry *old_scope = *scope;
 
                *scope = class_type;
+               zend_hash_apply_with_argument(&class_type->constants_table, (apply_func_arg_t) zval_update_constant, (void*)1 TSRMLS_CC);
                zend_hash_apply_with_argument(&class_type->default_properties, (apply_func_arg_t) zval_update_constant, (void *) 1 TSRMLS_CC);
 
                if (!CE_STATIC_MEMBERS(class_type)) {