mirror of
https://github.com/php/php-src.git
synced 2025-01-19 02:03:47 +08:00
Move missing zend_hash_* macros from phpdbg.h to zend_hash.h
This commit is contained in:
parent
66aead4b5f
commit
47fd168fed
@ -539,6 +539,19 @@ static zend_always_inline void *zend_hash_index_update_ptr(HashTable *ht, zend_u
|
||||
return zv ? Z_PTR_P(zv) : NULL;
|
||||
}
|
||||
|
||||
static zend_always_inline void *zend_hash_index_add_mem(HashTable *ht, zend_ulong h, void *pData, size_t size)
|
||||
{
|
||||
zval tmp, *zv;
|
||||
|
||||
ZVAL_PTR(&tmp, NULL);
|
||||
if ((zv = zend_hash_index_add(ht, h, &tmp))) {
|
||||
Z_PTR_P(zv) = pemalloc(size, ht->u.flags & HASH_FLAG_PERSISTENT);
|
||||
memcpy(Z_PTR_P(zv), pData, size);
|
||||
return Z_PTR_P(zv);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static zend_always_inline void *zend_hash_next_index_insert_ptr(HashTable *ht, void *pData)
|
||||
{
|
||||
zval tmp, *zv;
|
||||
@ -696,6 +709,11 @@ static zend_always_inline void *zend_hash_get_current_data_ptr_ex(HashTable *ht,
|
||||
_key = _p->key; \
|
||||
_val = _z;
|
||||
|
||||
#define ZEND_HASH_FOREACH_NUM_KEY_PTR(ht, _h, _ptr) \
|
||||
ZEND_HASH_FOREACH(ht, 0); \
|
||||
_h = _p->h; \
|
||||
_ptr = Z_PTR_P(_z);
|
||||
|
||||
#define ZEND_HASH_FOREACH_STR_KEY_PTR(ht, _key, _ptr) \
|
||||
ZEND_HASH_FOREACH(ht, 0); \
|
||||
_key = _p->key; \
|
||||
|
@ -70,29 +70,11 @@
|
||||
# include "TSRM.h"
|
||||
#endif
|
||||
|
||||
#define ZEND_HASH_FOREACH_NUM_KEY_PTR(ht, _h, _ptr) \
|
||||
ZEND_HASH_FOREACH(ht, 0); \
|
||||
_h = _p->h; \
|
||||
_ptr = Z_PTR_P(_z);
|
||||
|
||||
#undef zend_hash_str_add
|
||||
#define zend_hash_str_add_tmp(ht, key, len, pData) \
|
||||
_zend_hash_str_add(ht, key, len, pData ZEND_FILE_LINE_CC)
|
||||
#define zend_hash_str_add(...) zend_hash_str_add_tmp(__VA_ARGS__)
|
||||
|
||||
static zend_always_inline void *zend_hash_index_add_mem(HashTable *ht, zend_ulong h, void *pData, size_t size)
|
||||
{
|
||||
zval tmp, *zv;
|
||||
|
||||
ZVAL_PTR(&tmp, NULL);
|
||||
if ((zv = zend_hash_index_add(ht, h, &tmp))) {
|
||||
Z_PTR_P(zv) = pemalloc(size, ht->u.flags & HASH_FLAG_PERSISTENT);
|
||||
memcpy(Z_PTR_P(zv), pData, size);
|
||||
return Z_PTR_P(zv);
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#ifdef HAVE_LIBREADLINE
|
||||
# include <readline/readline.h>
|
||||
# include <readline/history.h>
|
||||
|
Loading…
Reference in New Issue
Block a user