pike.git
/
src
/
mapping.h
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/mapping.h:1:
/*\ ||| This file a part of Pike, and is copyright by Fredrik Hubinette ||| Pike is distributed as GPL (General Public License) ||| See the files COPYING and DISCLAIMER for more information. \*/ /*
-
* $Id: mapping.h,v 1.
38
2001/06/
04
23
:
59
:
56
mast Exp $
+
* $Id: mapping.h,v 1.
39
2001/06/
30
17
:
50
:
36
mast Exp $
*/ #ifndef MAPPING_H #define MAPPING_H #include "las.h" #include "block_alloc_h.h" /* Compatible with PIKE_WEAK_INDICES and PIKE_WEAK_VALUES. */ #define MAPPING_WEAK_INDICES 2 #define MAPPING_WEAK_VALUES 4
pike.git/src/mapping.h:61:
#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 MD_KEYPAIRS(MD, HSIZE) \ ( (struct keypair *)DO_ALIGN( (ptrdiff_t) (((struct mapping_data *)(MD))->hash + HSIZE), 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)
+
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)
+
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 */ #define NEW_MAPPING_LOOP(md) \
-
for(((k = MD_KEYPAIRS(md, md->hashsize)), e=0) DO_IF_DMALLOC( ?0:(debug_malloc_touch(md)) ) ; e<md->size; e++,k++)
+
for(((k = MD_KEYPAIRS(md,
(
md
)
->hashsize)), e=0) DO_IF_DMALLOC( ?0:(debug_malloc_touch(md)) ) ; e<
(
md
)
->size; e++,k++)
/* WARNING: this should not be used */ #define MAPPING_LOOP(m) \
-
for(((k = MD_KEYPAIRS(m->data, m->data->hashsize)), e=0) DO_IF_DMALLOC( ?0:(debug_malloc_touch(m),debug_malloc_touch(m->data)) ) ; e<m->data->size; e++,k++)
+
for(((k = MD_KEYPAIRS(
(
m
)
->data,
(
m
)
->data->hashsize)), e=0) DO_IF_DMALLOC( ?0:(debug_malloc_touch(m),debug_malloc_touch(
(
m
)
->data)) ) ; e<
(
m
)
->data->size; e++,k++)
#endif /* PIKE_MAPPING_KEYPAIR_LOOP */ #define free_mapping(M) do{ struct mapping *m_=(M); debug_malloc_touch(m_); if(!sub_ref(m_)) really_free_mapping(m_); }while(0) #define free_mapping_data(M) do{ \ struct mapping_data *md_=(M); \ debug_malloc_touch(md_); \ if(!sub_ref(md_)) really_free_mapping_data(md_); \ /* FIXME: What about valrefs & hardlinks? */ \ }while(0)