diff options
Diffstat (limited to 'Zend/zend_hash.c')
-rw-r--r-- | Zend/zend_hash.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/Zend/zend_hash.c b/Zend/zend_hash.c index 08dd56ff27..ec2141eec4 100644 --- a/Zend/zend_hash.c +++ b/Zend/zend_hash.c @@ -486,8 +486,7 @@ static zend_always_inline Bucket *zend_hash_find_bucket(const HashTable *ht, zen return p; } else if (EXPECTED(p->h == h) && EXPECTED(p->key) && - EXPECTED(ZSTR_LEN(p->key) == ZSTR_LEN(key)) && - EXPECTED(memcmp(ZSTR_VAL(p->key), ZSTR_VAL(key), ZSTR_LEN(key)) == 0)) { + EXPECTED(zend_string_equal_content(p->key, key))) { return p; } idx = Z_NEXT(p->val); @@ -1125,8 +1124,7 @@ ZEND_API int ZEND_FASTCALL zend_hash_del(HashTable *ht, zend_string *key) if ((p->key == key) || (p->h == h && p->key && - ZSTR_LEN(p->key) == ZSTR_LEN(key) && - memcmp(ZSTR_VAL(p->key), ZSTR_VAL(key), ZSTR_LEN(key)) == 0)) { + zend_string_equal_content(p->key, key))) { _zend_hash_del_el_ex(ht, idx, p, prev); return SUCCESS; } @@ -1156,8 +1154,7 @@ ZEND_API int ZEND_FASTCALL zend_hash_del_ind(HashTable *ht, zend_string *key) if ((p->key == key) || (p->h == h && p->key && - ZSTR_LEN(p->key) == ZSTR_LEN(key) && - memcmp(ZSTR_VAL(p->key), ZSTR_VAL(key), ZSTR_LEN(key)) == 0)) { + zend_string_equal_content(p->key, key))) { if (Z_TYPE(p->val) == IS_INDIRECT) { zval *data = Z_INDIRECT(p->val); |