pike.git
/
src
/
mapping.h
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/mapping.h:1:
/* || This file is part of Pike. For copyright information see COPYRIGHT. || Pike is distributed under GPL, LGPL and MPL. See the file COPYING || for more information.
-
|| $Id: mapping.h,v 1.
58
2004/09/
27
21
:
37
:
23
mast Exp $
+
|| $Id: mapping.h,v 1.
59
2004/09/
28
23
:
58
:
26
mast Exp $
*/ #ifndef MAPPING_H #define MAPPING_H #include "svalue.h" #include "dmalloc.h" #include "block_alloc_h.h" /* Compatible with PIKE_WEAK_INDICES and PIKE_WEAK_VALUES. */
pike.git/src/mapping.h:84:
/* 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++) #endif /* PIKE_MAPPING_KEYPAIR_LOOP */ #define free_mapping(M) do{ \ struct mapping *m_=(M); \ debug_malloc_touch(m_); \ DO_IF_DEBUG ( \
+
DO_IF_PIKE_CLEANUP ( \
if (gc_external_refs_zapped) \
-
gc_check_zapped (m_, PIKE_T_MAPPING, __FILE__, __LINE__)
; \
-
);
\
+
gc_check_zapped (m_, PIKE_T_MAPPING, __FILE__, __LINE__))
)
; \
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)