pike.git
/
src
/
mapping.h
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/mapping.h:56:
#define map_delete(m,key) map_delete_no_free(m, key, 0) #define m_sizeof(m) ((m)->data->size) #define m_ind_types(m) ((m)->data->ind_types) #define m_val_types(m) ((m)->data->val_types) #define mapping_get_flags(m) ((m)->data->flags) #define mapping_data_is_shared(m) ((m)->data->refs > 1) #define MD_KEYPAIRS(MD, HSIZE) \ ( (struct keypair *) \
-
DO_ALIGN( PTR_TO_INT(
((struct
mapping_data
*)(MD))->
hash + HSIZE), \
+
DO_ALIGN( PTR_TO_INT(
MD) + OFFSETOF
(mapping_data
,
hash
) + HSIZE
* sizeof(struct keypair *
),
\
ALIGNOF(struct keypair)) )
-
+
+
#ifndef PIKE_MAPPING_KEYPAIR_LOOP #define NEW_MAPPING_LOOP(md) \ for((e=0) DO_IF_DMALLOC( ?0:(debug_malloc_touch(md)) ) ;e<(md)->hashsize;e++) for(k=(md)->hash[e];k;k=k->next) /* WARNING: this should not be used */ #define MAPPING_LOOP(m) \ for((e=0) DO_IF_DMALLOC( ?0:(debug_malloc_touch(m),debug_malloc_touch((m)->data))) ;e<(m)->data->hashsize;e++) for(k=(m)->data->hash[e];k;k=k->next) #else /* PIKE_MAPPING_KEYPAIR_LOOP */