Skip to content

Commit 76a773b

Browse files
authored
Add some const qualifiers in HashTable foreach macros (php#8671)
1 parent f119b61 commit 76a773b

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

Zend/zend_hash.h

+9-9
Original file line numberDiff line numberDiff line change
@@ -998,15 +998,15 @@ static zend_always_inline void *zend_hash_get_current_data_ptr_ex(HashTable *ht,
998998
((zval*)(((char*)(_el)) - (_size)))
999999

10001000
#define _ZEND_HASH_FOREACH_VAL(_ht) do { \
1001-
HashTable *__ht = (_ht); \
1001+
const HashTable *__ht = (_ht); \
10021002
uint32_t _count = __ht->nNumUsed; \
10031003
size_t _size = ZEND_HASH_ELEMENT_SIZE(__ht); \
10041004
zval *_z = __ht->arPacked; \
10051005
for (; _count > 0; _z = ZEND_HASH_NEXT_ELEMENT(_z, _size), _count--) { \
10061006
if (UNEXPECTED(Z_TYPE_P(_z) == IS_UNDEF)) continue;
10071007

10081008
#define _ZEND_HASH_REVERSE_FOREACH_VAL(_ht) do { \
1009-
HashTable *__ht = (_ht); \
1009+
const HashTable *__ht = (_ht); \
10101010
uint32_t _idx = __ht->nNumUsed; \
10111011
size_t _size = ZEND_HASH_ELEMENT_SIZE(__ht); \
10121012
zval *_z = ZEND_HASH_ELEMENT_EX(__ht, _idx, _size); \
@@ -1015,7 +1015,7 @@ static zend_always_inline void *zend_hash_get_current_data_ptr_ex(HashTable *ht,
10151015
if (UNEXPECTED(Z_TYPE_P(_z) == IS_UNDEF)) continue;
10161016

10171017
#define ZEND_HASH_FOREACH_FROM(_ht, indirect, _from) do { \
1018-
HashTable *__ht = (_ht); \
1018+
const HashTable *__ht = (_ht); \
10191019
zend_ulong __h; \
10201020
zend_string *__key = NULL; \
10211021
uint32_t _idx = (_from); \
@@ -1043,7 +1043,7 @@ static zend_always_inline void *zend_hash_get_current_data_ptr_ex(HashTable *ht,
10431043
#define ZEND_HASH_FOREACH(_ht, indirect) ZEND_HASH_FOREACH_FROM(_ht, indirect, 0)
10441044

10451045
#define ZEND_HASH_REVERSE_FOREACH(_ht, indirect) do { \
1046-
HashTable *__ht = (_ht); \
1046+
const HashTable *__ht = (_ht); \
10471047
uint32_t _idx = __ht->nNumUsed; \
10481048
zval *_z; \
10491049
zend_ulong __h; \
@@ -1232,9 +1232,9 @@ static zend_always_inline void *zend_hash_get_current_data_ptr_ex(HashTable *ht,
12321232

12331233
/* Hash array iterators */
12341234
#define ZEND_HASH_MAP_FOREACH_FROM(_ht, indirect, _from) do { \
1235-
HashTable *__ht = (_ht); \
1235+
const HashTable *__ht = (_ht); \
12361236
Bucket *_p = __ht->arData + (_from); \
1237-
Bucket *_end = __ht->arData + __ht->nNumUsed; \
1237+
const Bucket *_end = __ht->arData + __ht->nNumUsed; \
12381238
ZEND_ASSERT(!HT_IS_PACKED(__ht)); \
12391239
for (; _p != _end; _p++) { \
12401240
zval *_z = &_p->val; \
@@ -1246,7 +1246,7 @@ static zend_always_inline void *zend_hash_get_current_data_ptr_ex(HashTable *ht,
12461246
#define ZEND_HASH_MAP_FOREACH(_ht, indirect) ZEND_HASH_MAP_FOREACH_FROM(_ht, indirect, 0)
12471247

12481248
#define ZEND_HASH_MAP_REVERSE_FOREACH(_ht, indirect) do { \
1249-
HashTable *__ht = (_ht); \
1249+
/* const */ HashTable *__ht = (_ht); \
12501250
uint32_t _idx = __ht->nNumUsed; \
12511251
Bucket *_p = __ht->arData + _idx; \
12521252
zval *_z; \
@@ -1440,7 +1440,7 @@ static zend_always_inline void *zend_hash_get_current_data_ptr_ex(HashTable *ht,
14401440

14411441
/* Packed array iterators */
14421442
#define ZEND_HASH_PACKED_FOREACH_FROM(_ht, _from) do { \
1443-
HashTable *__ht = (_ht); \
1443+
const HashTable *__ht = (_ht); \
14441444
zend_ulong _idx = (_from); \
14451445
zval *_z = __ht->arPacked + (_from); \
14461446
zval *_end = __ht->arPacked + __ht->nNumUsed; \
@@ -1452,7 +1452,7 @@ static zend_always_inline void *zend_hash_get_current_data_ptr_ex(HashTable *ht,
14521452
#define ZEND_HASH_PACKED_FOREACH(_ht) ZEND_HASH_PACKED_FOREACH_FROM(_ht, 0)
14531453

14541454
#define ZEND_HASH_PACKED_REVERSE_FOREACH(_ht) do { \
1455-
HashTable *__ht = (_ht); \
1455+
const HashTable *__ht = (_ht); \
14561456
zend_ulong _idx = __ht->nNumUsed; \
14571457
zval *_z = __ht->arPacked + _idx; \
14581458
ZEND_ASSERT(HT_IS_PACKED(__ht)); \

0 commit comments

Comments
 (0)