ZVAL_PTR(&tmp, pData);
zv = zend_hash_add(ht, key, &tmp);
- return zv ? Z_PTR_P(zv) : NULL;
+ if (zv) {
+ ZEND_ASSUME(Z_PTR_P(zv));
+ return Z_PTR_P(zv);
+ } else {
+ return NULL;
+ }
}
static zend_always_inline void *zend_hash_add_new_ptr(HashTable *ht, zend_string *key, void *pData)
ZVAL_PTR(&tmp, pData);
zv = zend_hash_add_new(ht, key, &tmp);
- return zv ? Z_PTR_P(zv) : NULL;
+ if (zv) {
+ ZEND_ASSUME(Z_PTR_P(zv));
+ return Z_PTR_P(zv);
+ } else {
+ return NULL;
+ }
}
static zend_always_inline void *zend_hash_str_add_ptr(HashTable *ht, const char *str, size_t len, void *pData)
ZVAL_PTR(&tmp, pData);
zv = zend_hash_str_add(ht, str, len, &tmp);
- return zv ? Z_PTR_P(zv) : NULL;
+ if (zv) {
+ ZEND_ASSUME(Z_PTR_P(zv));
+ return Z_PTR_P(zv);
+ } else {
+ return NULL;
+ }
}
static zend_always_inline void *zend_hash_str_add_new_ptr(HashTable *ht, const char *str, size_t len, void *pData)
ZVAL_PTR(&tmp, pData);
zv = zend_hash_str_add_new(ht, str, len, &tmp);
- return zv ? Z_PTR_P(zv) : NULL;
+ if (zv) {
+ ZEND_ASSUME(Z_PTR_P(zv));
+ return Z_PTR_P(zv);
+ } else {
+ return NULL;
+ }
}
static zend_always_inline void *zend_hash_update_ptr(HashTable *ht, zend_string *key, void *pData)
ZVAL_PTR(&tmp, pData);
zv = zend_hash_update(ht, key, &tmp);
- return zv ? Z_PTR_P(zv) : NULL;
+ if (zv) {
+ ZEND_ASSUME(Z_PTR_P(zv));
+ return Z_PTR_P(zv);
+ } else {
+ return NULL;
+ }
}
static zend_always_inline void *zend_hash_str_update_ptr(HashTable *ht, const char *str, size_t len, void *pData)
ZVAL_PTR(&tmp, pData);
zv = zend_hash_str_update(ht, str, len, &tmp);
- return zv ? Z_PTR_P(zv) : NULL;
+ if (zv) {
+ ZEND_ASSUME(Z_PTR_P(zv));
+ return Z_PTR_P(zv);
+ } else {
+ return NULL;
+ }
}
static zend_always_inline void *zend_hash_add_mem(HashTable *ht, zend_string *key, void *pData, size_t size)
ZVAL_PTR(&tmp, pData);
zv = zend_hash_index_update(ht, h, &tmp);
- return zv ? Z_PTR_P(zv) : NULL;
+ if (zv) {
+ ZEND_ASSUME(Z_PTR_P(zv));
+ return Z_PTR_P(zv);
+ } else {
+ return NULL;
+ }
}
static zend_always_inline void *zend_hash_index_add_mem(HashTable *ht, zend_ulong h, void *pData, size_t size)
ZVAL_PTR(&tmp, pData);
zv = zend_hash_next_index_insert(ht, &tmp);
- return zv ? Z_PTR_P(zv) : NULL;
+ if (zv) {
+ ZEND_ASSUME(Z_PTR_P(zv));
+ return Z_PTR_P(zv);
+ } else {
+ return NULL;
+ }
}
static zend_always_inline void *zend_hash_index_update_mem(HashTable *ht, zend_ulong h, void *pData, size_t size)
zval *zv;
zv = zend_hash_find(ht, key);
- return zv ? Z_PTR_P(zv) : NULL;
+ if (zv) {
+ ZEND_ASSUME(Z_PTR_P(zv));
+ return Z_PTR_P(zv);
+ } else {
+ return NULL;
+ }
}
static zend_always_inline void *zend_hash_str_find_ptr(const HashTable *ht, const char *str, size_t len)
zval *zv;
zv = zend_hash_str_find(ht, str, len);
- return zv ? Z_PTR_P(zv) : NULL;
+ if (zv) {
+ ZEND_ASSUME(Z_PTR_P(zv));
+ return Z_PTR_P(zv);
+ } else {
+ return NULL;
+ }
}
static zend_always_inline void *zend_hash_index_find_ptr(const HashTable *ht, zend_ulong h)
zval *zv;
zv = zend_hash_index_find(ht, h);
- return zv ? Z_PTR_P(zv) : NULL;
+ if (zv) {
+ ZEND_ASSUME(Z_PTR_P(zv));
+ return Z_PTR_P(zv);
+ } else {
+ return NULL;
+ }
}
static zend_always_inline void *zend_symtable_str_find_ptr(HashTable *ht, const char *str, size_t len)
zval *zv;
zv = zend_hash_get_current_data_ex(ht, pos);
- return zv ? Z_PTR_P(zv) : NULL;
+ if (zv) {
+ ZEND_ASSUME(Z_PTR_P(zv));
+ return Z_PTR_P(zv);
+ } else {
+ return NULL;
+ }
}
#define zend_hash_get_current_data_ptr(ht) \