17#include "apr_private.h"
32#if APR_POOL_DEBUG && APR_HAVE_STDIO_H
131 if (
hi->index >
hi->ht->max)
162 if (
val) *
val = (
void *)
hi->this->val;
213 const unsigned char *
key = (
const unsigned char *)
char_key;
214 const unsigned char *
p;
369 return (
void *)
he->val;
436 unsigned int i, j, k,
hash;
445 "apr_hash_merge: overlay's pool is not an ancestor of p\n");
450 "apr_hash_merge: base's pool is not an ancestor of p\n");
458 res->hash_func =
base->hash_func;
462 res->max =
res->max * 2 + 1;
471 for (k = 0; k <=
base->max; k++) {
492 if ((
ent->klen ==
iter->klen) &&
542 rv = (*comp)(
rec,
hi->this->key,
hi->this->klen,
hi->this->val);
APR Miscellaneous library routines.
static apr_hash_entry_t ** find_entry(apr_hash_t *ht, const void *key, apr_ssize_t klen, const void *val)
static void expand_array(apr_hash_t *ht)
static unsigned int hashfunc_default(const char *char_key, apr_ssize_t *klen, unsigned int hash)
static apr_hash_entry_t ** alloc_array(apr_hash_t *ht, unsigned int max)
apr_pool_t apr_dbd_t apr_dbd_results_t ** res
const char int apr_pool_t * pool
unsigned int(* apr_hashfunc_t)(const char *key, apr_ssize_t *klen)
const apr_hash_t const apr_hash_t void *(* merger)(apr_pool_t *p, const void *key, apr_ssize_t klen, const void *h1_val, const void *h2_val, const void *data)
#define APR_HASH_KEY_STRING
const apr_hash_t * overlay
int() apr_hash_do_callback_fn_t(void *rec, const void *key, apr_ssize_t klen, const void *value)
APR_DECLARE_NONSTD(void) apr_terminate(void)
#define APR_POOL_IMPLEMENT_ACCESSOR(type)
#define apr_pcalloc(p, size)
void apr_skiplistnode ** iter
void apr_skiplistnode apr_skiplist_compare comp
apr_size_t apr_size_t max
apr_hash_entry_t ** array
apr_hash_index_t iterator
typedef int(WSAAPI *apr_winapi_fpt_WSAPoll)(IN OUT LPWSAPOLLFD fdArray