summaryrefslogtreecommitdiff
path: root/ext/xmlreader/php_xmlreader.c
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2017-11-02 10:40:45 +0800
committerXinchen Hui <laruence@gmail.com>2017-11-02 10:40:45 +0800
commit39845250f242b7739d30b4b8a287b4a6130d8fa1 (patch)
tree3f8f69284a99f7932989f2460e8d78d1757a34cf /ext/xmlreader/php_xmlreader.c
parenta32e567ec8b28a7ccc0ebca9d24911788aaf853c (diff)
parenta7305eb539596e175bd6c3ae9a20953358c5d677 (diff)
downloadphp-git-39845250f242b7739d30b4b8a287b4a6130d8fa1.tar.gz
Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src: Made "result", "statement" and "last_message" to always use Zend MM heap. (even for persistent connections these entities don't relive request boundary) Fixed memory leaks Use interned strings for "magic" property of internal classes. (not copyied into SHM) Reverted incomplete fix and too strict asserts. Mark persistent connection related data as "thread-local". Persistent resources are "thread-local". Register persistent resources through new functions zend_register_persistent_resource()/zend_register_persistent_resource_ex(). PCRE cache is "thread-local" Allow reference-counting on "thread-local" persistent zvals
Diffstat (limited to 'ext/xmlreader/php_xmlreader.c')
-rw-r--r--ext/xmlreader/php_xmlreader.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/ext/xmlreader/php_xmlreader.c b/ext/xmlreader/php_xmlreader.c
index 40b7d462cd..392d9b19c3 100644
--- a/ext/xmlreader/php_xmlreader.c
+++ b/ext/xmlreader/php_xmlreader.c
@@ -61,11 +61,14 @@ typedef struct _xmlreader_prop_handler {
static void xmlreader_register_prop_handler(HashTable *prop_handler, char *name, xmlreader_read_int_t read_int_func, xmlreader_read_const_char_t read_char_func, int rettype)
{
xmlreader_prop_handler hnd;
+ zend_string *str;
hnd.read_char_func = read_char_func;
hnd.read_int_func = read_int_func;
hnd.type = rettype;
- zend_hash_str_add_mem(prop_handler, name, strlen(name), &hnd, sizeof(xmlreader_prop_handler));
+ str = zend_string_init_interned(name, strlen(name), 1);
+ zend_hash_add_mem(prop_handler, str, &hnd, sizeof(xmlreader_prop_handler));
+ zend_string_release(str);
}
/* }}} */