summaryrefslogtreecommitdiff
path: root/Zend/zend_string.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2013-12-26 14:47:13 +0400
committerDmitry Stogov <dmitry@zend.com>2013-12-26 14:47:13 +0400
commit03a37de9b3c4b9dc02aeeb5c5331ff89eac62515 (patch)
treeaf2bddce7eea0c93b06e1bbfd6c9b06b2b7e43db /Zend/zend_string.c
parent0ff0e82f26fcae352007c08873ab408c12948ad9 (diff)
downloadphp-git-03a37de9b3c4b9dc02aeeb5c5331ff89eac62515.tar.gz
Improved empty string handling. Now ZE uses an interned string instead of allocation new empty string each time. (Some extensions might need to be fixed using str_efree() instead of efree() to support interned strings).
Diffstat (limited to 'Zend/zend_string.c')
-rw-r--r--Zend/zend_string.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/Zend/zend_string.c b/Zend/zend_string.c
index ff7ee3fd81..6ecb42b7ac 100644
--- a/Zend/zend_string.c
+++ b/Zend/zend_string.c
@@ -61,6 +61,8 @@ void zend_interned_strings_init(TSRMLS_D)
mprotect(CG(interned_strings_start), CG(interned_strings_end) - CG(interned_strings_start), PROT_READ);
#endif
+ /* interned empty string */
+ CG(interned_empty_string) = zend_new_interned_string_int("", sizeof(""), 0 TSRMLS_CC);
#endif
zend_new_interned_string = zend_new_interned_string_int;