]> granicus.if.org Git - php/commitdiff
- Fixed Bug #29505 get_class_vars() severely broken when used with arrays
authorMarcus Boerger <helly@php.net>
Tue, 3 Aug 2004 16:59:25 +0000 (16:59 +0000)
committerMarcus Boerger <helly@php.net>
Tue, 3 Aug 2004 16:59:25 +0000 (16:59 +0000)
Zend/zend_builtin_functions.c

index 80a78afcacb3ea5acb681e255b4ed07f8b48e5a3..b64ad5ffd920653da3f060666a1ecf3940d02a73 100644 (file)
@@ -702,6 +702,12 @@ ZEND_FUNCTION(get_class_vars)
                                zval_copy_ctor(prop_copy);
                                INIT_PZVAL(prop_copy);
        
+                               /* this is necessary to make it able to work with default array 
+                               * properties, returned to user */
+                               if (Z_TYPE_P(prop_copy) == IS_CONSTANT_ARRAY || Z_TYPE_P(prop_copy) == IS_CONSTANT) {
+                                       zval_update_constant(&prop_copy, 0 TSRMLS_CC);
+                               }
+                               
                                add_assoc_zval(return_value, prop_name, prop_copy);
                        }
                }