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.
34
2000
/
12
/
16
05
:
45
:
44
marcus
Exp $
+
* $Id: mapping.h,v 1.
35
2001
/
03
/
23
03
:
14
:
40
hubbe
Exp $
*/ #ifndef MAPPING_H #define MAPPING_H #include "las.h" #include "block_alloc_h.h" #define MAPPING_FLAG_WEAK 1 struct keypair
pike.git/src/mapping.h:63:
#define mapping_get_flags(m) ((m)->data->flags) #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)
-
#define free_mapping(M) do{ struct mapping *m_=(M); debug_malloc_touch(m_); if(!
--
m_
->refs
) really_free_mapping(m_); }while(0)
+
#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(!--md_->refs) really_free_mapping_data(md_); \ /* FIXME: What about valrefs & hardlinks? */ \ }while(0) PMOD_PROTO void really_free_mapping(struct mapping *md);