pike.git / src / mapping.h

version» Context lines:

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)