summaryrefslogtreecommitdiff
path: root/Zend/zend_API.h
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2010-08-05 13:10:15 +0000
committerDmitry Stogov <dmitry@php.net>2010-08-05 13:10:15 +0000
commit3cf5ab9e567e302125f242aaff2f1bd41e3d5409 (patch)
tree4ae5c4ecd9862d49fc460f04ee082b4eaa08a0f2 /Zend/zend_API.h
parent3d2a6927c7f6b5da71e10b74584a72e74e47e6df (diff)
downloadphp-git-3cf5ab9e567e302125f242aaff2f1bd41e3d5409.tar.gz
Use interned strings for class names
Diffstat (limited to 'Zend/zend_API.h')
-rw-r--r--Zend/zend_API.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/Zend/zend_API.h b/Zend/zend_API.h
index 5e5a4eab14..2daf500a6e 100644
--- a/Zend/zend_API.h
+++ b/Zend/zend_API.h
@@ -167,7 +167,10 @@ typedef struct _zend_fcall_info_cache {
#define INIT_OVERLOADED_CLASS_ENTRY_EX(class_container, class_name, class_name_len, functions, handle_fcall, handle_propget, handle_propset, handle_propunset, handle_propisset) \
{ \
int _len = class_name_len; \
- class_container.name = zend_strndup(class_name, _len); \
+ class_container.name = zend_new_interned_string(class_name, _len+1, 0); \
+ if (class_container.name == class_name) { \
+ class_container.name = zend_strndup(class_name, _len); \
+ } \
class_container.name_length = _len; \
class_container.builtin_functions = functions; \
class_container.constructor = NULL; \