diff options
-rw-r--r-- | Zend/zend_ast.c | 2 | ||||
-rw-r--r-- | tests/classes/constants_error_002.phpt | 12 |
2 files changed, 8 insertions, 6 deletions
diff --git a/Zend/zend_ast.c b/Zend/zend_ast.c index d7fbba1215..583a52321b 100644 --- a/Zend/zend_ast.c +++ b/Zend/zend_ast.c @@ -351,9 +351,11 @@ ZEND_API zend_ast *zend_ast_copy(zend_ast *ast) zend_ast *new = emalloc(sizeof(zend_ast) + sizeof(zend_ast*) * (ast->children - 1)); int i; new->kind = ast->kind; + new->children = ast->children; for (i = 0; i < ast->children; i++) { (&new->u.child)[i] = zend_ast_copy((&ast->u.child)[i]); } + return new; } return zend_ast_create_dynamic(ast->kind); } diff --git a/tests/classes/constants_error_002.phpt b/tests/classes/constants_error_002.phpt index be27971b87..610a42da9b 100644 --- a/tests/classes/constants_error_002.phpt +++ b/tests/classes/constants_error_002.phpt @@ -2,11 +2,11 @@ Error case: class constant as an array --FILE-- <?php - class myclass - { - const myConst = array(); - } +class myclass +{ + const myConst = array(); +} ?> +===DONE=== --EXPECTF-- - -Fatal error: Arrays are not allowed in class constants in %s on line 4 +===DONE=== |