summaryrefslogtreecommitdiff
path: root/ext/standard/array.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2008-04-29 08:15:20 +0000
committerDmitry Stogov <dmitry@php.net>2008-04-29 08:15:20 +0000
commit2ecf4bb0a7c66bc882ff82d66d86ac6be5bffdf7 (patch)
tree128afacc2d1cf3234b0f59dccb3bf63633f0c7e7 /ext/standard/array.c
parentc75658c477cead4cb7c4a9ae6a72c6d8a1d98cee (diff)
downloadphp-git-2ecf4bb0a7c66bc882ff82d66d86ac6be5bffdf7.tar.gz
Lazy EG(active_symbol_table) initialization
Diffstat (limited to 'ext/standard/array.c')
-rw-r--r--ext/standard/array.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/ext/standard/array.c b/ext/standard/array.c
index 6b4db94d8b..6f23da0632 100644
--- a/ext/standard/array.c
+++ b/ext/standard/array.c
@@ -1331,6 +1331,10 @@ PHP_FUNCTION(extract)
}
}
+ if (!EG(active_symbol_table)) {
+ zend_rebuild_symbol_table(TSRMLS_C);
+ }
+
zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(var_array), &pos);
while (zend_hash_get_current_data_ex(Z_ARRVAL_P(var_array), (void **)&entry, &pos) == SUCCESS) {
zval final_name;
@@ -1493,6 +1497,10 @@ PHP_FUNCTION(compact)
WRONG_PARAM_COUNT;
}
+ if (!EG(active_symbol_table)) {
+ zend_rebuild_symbol_table(TSRMLS_C);
+ }
+
array_init(return_value);
for (i=0; i<ZEND_NUM_ARGS(); i++) {