]> granicus.if.org Git - php/commitdiff
Use HT_FLAGS() macro
authorDmitry Stogov <dmitry@zend.com>
Mon, 22 Jan 2018 11:58:16 +0000 (14:58 +0300)
committerDmitry Stogov <dmitry@zend.com>
Mon, 22 Jan 2018 11:58:16 +0000 (14:58 +0300)
Zend/zend_hash.c
Zend/zend_object_handlers.c
Zend/zend_objects.c
ext/spl/spl_array.c
ext/standard/array.c

index 129898c88c8b6a23478c769931446c146715e37d..324f9fd4b3d3ce77f174b59e79765abd08753a83 100644 (file)
@@ -299,10 +299,10 @@ static uint32_t zend_array_recalc_elements(HashTable *ht)
 ZEND_API uint32_t zend_array_count(HashTable *ht)
 {
        uint32_t num;
-       if (UNEXPECTED(ht->u.v.flags & HASH_FLAG_HAS_EMPTY_IND)) {
+       if (UNEXPECTED(HT_FLAGS(ht) & HASH_FLAG_HAS_EMPTY_IND)) {
                num = zend_array_recalc_elements(ht);
                if (UNEXPECTED(ht->nNumOfElements == num)) {
-                       ht->u.v.flags &= ~HASH_FLAG_HAS_EMPTY_IND;
+                       HT_FLAGS(ht) &= ~HASH_FLAG_HAS_EMPTY_IND;
                }
        } else if (UNEXPECTED(ht == &EG(symbol_table))) {
                num = zend_array_recalc_elements(ht);
@@ -1169,7 +1169,7 @@ ZEND_API int ZEND_FASTCALL zend_hash_del_ind(HashTable *ht, zend_string *key)
                                        } else {
                                                ZVAL_UNDEF(data);
                                        }
-                                       ht->u.v.flags |= HASH_FLAG_HAS_EMPTY_IND;
+                                       HT_FLAGS(ht) |= HASH_FLAG_HAS_EMPTY_IND;
                                }
                        } else {
                                _zend_hash_del_el_ex(ht, idx, p, prev);
@@ -1213,7 +1213,7 @@ ZEND_API int ZEND_FASTCALL zend_hash_str_del_ind(HashTable *ht, const char *str,
                                                ht->pDestructor(data);
                                        }
                                        ZVAL_UNDEF(data);
-                                       ht->u.v.flags |= HASH_FLAG_HAS_EMPTY_IND;
+                                       HT_FLAGS(ht) |= HASH_FLAG_HAS_EMPTY_IND;
                                }
                        } else {
                                _zend_hash_del_el_ex(ht, idx, p, prev);
index c4c7ca57940985f8f9ac7c561cf3796a30c36e42..5eef84d88593a20999f02edbc7573c26db3ccfba 100644 (file)
@@ -75,7 +75,7 @@ ZEND_API void rebuild_object_properties(zend_object *zobj) /* {{{ */
                                    (prop_info->flags & ZEND_ACC_STATIC) == 0) {
 
                                        if (UNEXPECTED(Z_TYPE_P(OBJ_PROP(zobj, prop_info->offset)) == IS_UNDEF)) {
-                                               zobj->properties->u.v.flags |= HASH_FLAG_HAS_EMPTY_IND;
+                                               HT_FLAGS(zobj->properties) |= HASH_FLAG_HAS_EMPTY_IND;
                                        }
 
                                        _zend_hash_append_ind(zobj->properties, prop_info->name,
@@ -91,7 +91,7 @@ ZEND_API void rebuild_object_properties(zend_object *zobj) /* {{{ */
                                                zval zv;
 
                                                if (UNEXPECTED(Z_TYPE_P(OBJ_PROP(zobj, prop_info->offset)) == IS_UNDEF)) {
-                                                       zobj->properties->u.v.flags |= HASH_FLAG_HAS_EMPTY_IND;
+                                                       HT_FLAGS(zobj->properties) |= HASH_FLAG_HAS_EMPTY_IND;
                                                }
 
                                                ZVAL_INDIRECT(&zv, OBJ_PROP(zobj, prop_info->offset));
@@ -966,7 +966,7 @@ static void zend_std_unset_property(zval *object, zval *member, void **cache_slo
                        zval_ptr_dtor(slot);
                        ZVAL_UNDEF(slot);
                        if (zobj->properties) {
-                               zobj->properties->u.v.flags |= HASH_FLAG_HAS_EMPTY_IND;
+                               HT_FLAGS(zobj->properties) |= HASH_FLAG_HAS_EMPTY_IND;
                        }
                        goto exit;
                }
index d309658538c2843090628470411dadea37ef0704..53e11b1e775082b99352f72776e5d20ff539007e 100644 (file)
@@ -203,8 +203,8 @@ ZEND_API void ZEND_FASTCALL zend_objects_clone_members(zend_object *new_object,
                        zend_hash_extend(new_object->properties, new_object->properties->nNumUsed + zend_hash_num_elements(old_object->properties), 0);
                }
 
-               new_object->properties->u.v.flags |=
-                       old_object->properties->u.v.flags & HASH_FLAG_HAS_EMPTY_IND;
+               HT_FLAGS(new_object->properties) |=
+                       HT_FLAGS(old_object->properties) & HASH_FLAG_HAS_EMPTY_IND;
 
                ZEND_HASH_FOREACH_KEY_VAL(old_object->properties, num_key, key, prop) {
                        if (Z_TYPE_P(prop) == IS_INDIRECT) {
index 01001f2da781b3381da7953cf97ea107895159dc..0e610ee1253bfa9a68c09e4689dd826a3e58fafc 100644 (file)
@@ -560,7 +560,7 @@ try_again:
                                        } else {
                                                zval_ptr_dtor(data);
                                                ZVAL_UNDEF(data);
-                                               ht->u.v.flags |= HASH_FLAG_HAS_EMPTY_IND;
+                                               HT_FLAGS(ht) |= HASH_FLAG_HAS_EMPTY_IND;
                                                zend_hash_move_forward_ex(ht, spl_array_get_pos_ptr(ht, intern));
                                                if (spl_array_is_object(intern)) {
                                                        spl_array_skip_protected(intern, ht);
index 3ebf073d1134c7959f1a3b4056d42842f84981c0..50ea6802ae301d347adc453530bab9527d4f6a24 100644 (file)
@@ -3194,7 +3194,7 @@ static void php_splice(HashTable *in_hash, zend_long offset, zend_long length, H
        in_hash->pDestructor = NULL;
        zend_hash_destroy(in_hash);
 
-       in_hash->u.v.flags         = out_hash.u.v.flags;
+       HT_FLAGS(in_hash)          = HT_FLAGS(&out_hash);
        in_hash->nTableSize        = out_hash.nTableSize;
        in_hash->nTableMask        = out_hash.nTableMask;
        in_hash->nNumUsed          = out_hash.nNumUsed;
@@ -3461,7 +3461,7 @@ PHP_FUNCTION(array_unshift)
        Z_ARRVAL_P(stack)->pDestructor = NULL;
        zend_hash_destroy(Z_ARRVAL_P(stack));
 
-       Z_ARRVAL_P(stack)->u.v.flags         = new_hash.u.v.flags;
+       HT_FLAGS(Z_ARRVAL_P(stack))          = HT_FLAGS(&new_hash);
        Z_ARRVAL_P(stack)->nTableSize        = new_hash.nTableSize;
        Z_ARRVAL_P(stack)->nTableMask        = new_hash.nTableMask;
        Z_ARRVAL_P(stack)->nNumUsed          = new_hash.nNumUsed;