summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_hash.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/Zend/zend_hash.h b/Zend/zend_hash.h
index afa3602fae..e21d292f19 100644
--- a/Zend/zend_hash.h
+++ b/Zend/zend_hash.h
@@ -645,9 +645,9 @@ static zend_always_inline void *zend_hash_get_current_data_ptr_ex(HashTable *ht,
zend_hash_get_current_data_ptr_ex(ht, &(ht)->nInternalPointer)
#define ZEND_HASH_FOREACH(_ht, indirect) do { \
- uint _idx; \
- for (_idx = 0; _idx < (_ht)->nNumUsed; _idx++) { \
- Bucket *_p = (_ht)->arData + _idx; \
+ Bucket *_p = (_ht)->arData; \
+ Bucket *_end = _p + (_ht)->nNumUsed; \
+ for (; _p != _end; _p++) { \
zval *_z = &_p->val; \
if (indirect && Z_TYPE_P(_z) == IS_INDIRECT) { \
_z = Z_INDIRECT_P(_z); \