summaryrefslogtreecommitdiff
path: root/Zend
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-04-01 17:10:15 +0400
committerDmitry Stogov <dmitry@zend.com>2014-04-01 17:10:15 +0400
commit042c937f6915876a1aec014394daa1db8f75cea6 (patch)
tree98503b131775847d8347f457716339ea447875ba /Zend
parenta25a1ba0ef263e9e1d65b8eaebd3e764878c55c7 (diff)
downloadphp-git-042c937f6915876a1aec014394daa1db8f75cea6.tar.gz
Use STR_COPY() instead of STR_DUP() where possible
Diffstat (limited to 'Zend')
-rw-r--r--Zend/zend_API.c2
-rw-r--r--Zend/zend_compile.c4
-rw-r--r--Zend/zend_constants.c3
-rw-r--r--Zend/zend_hash.c2
4 files changed, 6 insertions, 5 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index f923740fbd..d0cd63edcf 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -1083,7 +1083,7 @@ static int zend_merge_property(zval *value TSRMLS_DC, int num_args, va_list args
zend_object_handlers *obj_ht = va_arg(args, zend_object_handlers *);
zval member;
- ZVAL_STR(&member, STR_DUP(hash_key->key, 0));
+ ZVAL_STR(&member, STR_COPY(hash_key->key));
obj_ht->write_property(obj, &member, value, 0 TSRMLS_CC);
zval_ptr_dtor(&member);
}
diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c
index 1d461ddaa7..f481f09e6e 100644
--- a/Zend/zend_compile.c
+++ b/Zend/zend_compile.c
@@ -2021,7 +2021,7 @@ void zend_do_begin_method_call(znode *left_bracket TSRMLS_DC) /* {{{ */
if (Z_TYPE(name) != IS_STRING) {
zend_error_noreturn(E_COMPILE_ERROR, "Method name must be a string");
}
- Z_STR(name) = STR_DUP(Z_STR(name), 0);
+ Z_STR(name) = STR_COPY(Z_STR(name));
FREE_POLYMORPHIC_CACHE_SLOT(last_op->op2.constant);
last_op->op2.constant =
zend_add_func_name_literal(CG(active_op_array), &name TSRMLS_CC);
@@ -7233,7 +7233,7 @@ void zend_do_use_non_class(znode *ns_name, znode *new_name, int is_global, int i
}
if (case_sensitive) {
- lookup_name = STR_DUP(Z_STR_P(name), 0);
+ lookup_name = STR_COPY(Z_STR_P(name));
} else {
lookup_name = STR_ALLOC(Z_STRLEN_P(name), 0);
zend_str_tolower_copy(lookup_name->val, Z_STRVAL_P(name), Z_STRLEN_P(name));
diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c
index f1408d0af9..03246e3cc6 100644
--- a/Zend/zend_constants.c
+++ b/Zend/zend_constants.c
@@ -49,7 +49,8 @@ static void copy_zend_constant(zval *zv)
Z_PTR_P(zv) = malloc(sizeof(zend_constant)/*, c->flags & CONST_PERSISTENT*/);
memcpy(Z_PTR_P(zv), c, sizeof(zend_constant));
- c->name = STR_DUP(c->name, c->flags & CONST_PERSISTENT);
+//??? c->name = STR_DUP(c->name, c->flags & CONST_PERSISTENT);
+ c->name = STR_COPY(c->name);
//??? if (!(c->flags & CONST_PERSISTENT)) {
zval_copy_ctor(&c->value);
//??? }
diff --git a/Zend/zend_hash.c b/Zend/zend_hash.c
index 3cfc62e7a1..fe64a33b34 100644
--- a/Zend/zend_hash.c
+++ b/Zend/zend_hash.c
@@ -1414,7 +1414,7 @@ ZEND_API int zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str
p = ht->arData + idx;
if (p->key) {
if (duplicate) {
- *str_index = STR_DUP(p->key, 0);
+ *str_index = STR_COPY(p->key);
} else {
*str_index = p->key;
}