diff options
| author | Dmitry Stogov <dmitry@zend.com> | 2015-05-19 13:22:58 +0300 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@zend.com> | 2015-05-19 13:22:58 +0300 |
| commit | 6c8d49b6b0face2a5453f168da385b0964c3194f (patch) | |
| tree | 3be79601c90a7a7ed48127d04a9225d5fcf37957 /Zend | |
| parent | 27b83079fed07ebad369d3d2f774cad6293171a7 (diff) | |
| download | php-git-6c8d49b6b0face2a5453f168da385b0964c3194f.tar.gz | |
Improved hash table copying
Diffstat (limited to 'Zend')
| -rw-r--r-- | Zend/zend_hash.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Zend/zend_hash.h b/Zend/zend_hash.h index dcac9c355c..78a04ce038 100644 --- a/Zend/zend_hash.h +++ b/Zend/zend_hash.h @@ -877,7 +877,7 @@ static zend_always_inline void *zend_hash_get_current_data_ptr_ex(HashTable *ht, __fill_ht->nInternalPointer = 0; \ } while (0) -static zend_always_inline void _zend_hash_append(HashTable *ht, zend_string *key, zval *zv) +static zend_always_inline zval *_zend_hash_append(HashTable *ht, zend_string *key, zval *zv) { uint32_t idx = ht->nNumUsed++; uint32_t nIndex; @@ -896,9 +896,10 @@ static zend_always_inline void _zend_hash_append(HashTable *ht, zend_string *key HT_HASH(ht, nIndex) = HT_IDX_TO_HASH(idx); ht->nNumUsed = idx + 1; ht->nNumOfElements++; + return &p->val; } -static zend_always_inline void _zend_hash_append_ptr(HashTable *ht, zend_string *key, void *ptr) +static zend_always_inline zval *_zend_hash_append_ptr(HashTable *ht, zend_string *key, void *ptr) { uint32_t idx = ht->nNumUsed++; uint32_t nIndex; @@ -917,6 +918,7 @@ static zend_always_inline void _zend_hash_append_ptr(HashTable *ht, zend_string HT_HASH(ht, nIndex) = HT_IDX_TO_HASH(idx); ht->nNumUsed = idx + 1; ht->nNumOfElements++; + return &p->val; } static zend_always_inline void _zend_hash_append_ind(HashTable *ht, zend_string *key, zval *ptr) |
