diff options
| author | Dmitry Stogov <dmitry@php.net> | 2010-08-05 13:10:15 +0000 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@php.net> | 2010-08-05 13:10:15 +0000 |
| commit | 3cf5ab9e567e302125f242aaff2f1bd41e3d5409 (patch) | |
| tree | 4ae5c4ecd9862d49fc460f04ee082b4eaa08a0f2 /Zend/zend_API.h | |
| parent | 3d2a6927c7f6b5da71e10b74584a72e74e47e6df (diff) | |
| download | php-git-3cf5ab9e567e302125f242aaff2f1bd41e3d5409.tar.gz | |
Use interned strings for class names
Diffstat (limited to 'Zend/zend_API.h')
| -rw-r--r-- | Zend/zend_API.h | 5 |
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; \ |
