mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Move missing zend_hash_* macros from phpdbg.h to zend_hash.h
This commit is contained in:
parent
66aead4b5f
commit
47fd168fed
2 changed files with 18 additions and 18 deletions
|
@ -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;
|
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)
|
static zend_always_inline void *zend_hash_next_index_insert_ptr(HashTable *ht, void *pData)
|
||||||
{
|
{
|
||||||
zval tmp, *zv;
|
zval tmp, *zv;
|
||||||
|
@ -696,6 +709,11 @@ static zend_always_inline void *zend_hash_get_current_data_ptr_ex(HashTable *ht,
|
||||||
_key = _p->key; \
|
_key = _p->key; \
|
||||||
_val = _z;
|
_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) \
|
#define ZEND_HASH_FOREACH_STR_KEY_PTR(ht, _key, _ptr) \
|
||||||
ZEND_HASH_FOREACH(ht, 0); \
|
ZEND_HASH_FOREACH(ht, 0); \
|
||||||
_key = _p->key; \
|
_key = _p->key; \
|
||||||
|
|
|
@ -70,29 +70,11 @@
|
||||||
# include "TSRM.h"
|
# include "TSRM.h"
|
||||||
#endif
|
#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
|
#undef zend_hash_str_add
|
||||||
#define zend_hash_str_add_tmp(ht, key, len, pData) \
|
#define zend_hash_str_add_tmp(ht, key, len, pData) \
|
||||||
_zend_hash_str_add(ht, key, len, pData ZEND_FILE_LINE_CC)
|
_zend_hash_str_add(ht, key, len, pData ZEND_FILE_LINE_CC)
|
||||||
#define zend_hash_str_add(...) zend_hash_str_add_tmp(__VA_ARGS__)
|
#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
|
#ifdef HAVE_LIBREADLINE
|
||||||
# include <readline/readline.h>
|
# include <readline/readline.h>
|
||||||
# include <readline/history.h>
|
# include <readline/history.h>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue