summaryrefslogtreecommitdiff
path: root/ext/standard/string.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/string.c
parentc75658c477cead4cb7c4a9ae6a72c6d8a1d98cee (diff)
downloadphp-git-2ecf4bb0a7c66bc882ff82d66d86ac6be5bffdf7.tar.gz
Lazy EG(active_symbol_table) initialization
Diffstat (limited to 'ext/standard/string.c')
-rw-r--r--ext/standard/string.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/ext/standard/string.c b/ext/standard/string.c
index cc52e0ba77..9ec1dde4d4 100644
--- a/ext/standard/string.c
+++ b/ext/standard/string.c
@@ -4178,8 +4178,11 @@ PHP_FUNCTION(parse_str)
if (argCount == 1) {
zval tmp;
- Z_ARRVAL(tmp) = EG(active_symbol_table);
+ if (!EG(active_symbol_table)) {
+ zend_rebuild_symbol_table(TSRMLS_C);
+ }
+ Z_ARRVAL(tmp) = EG(active_symbol_table);
sapi_module.treat_data(PARSE_STRING, res, &tmp TSRMLS_CC);
} else {
/* Clear out the array that was passed in. */