pike.git / src / mapping.h

version» Context lines:

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.62 2005/09/11 00:40:10 grendel Exp $ + || $Id: mapping.h,v 1.63 2006/07/05 02:19:15 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:80:      #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++)      /* 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 */    + #if defined(USE_DLL) && defined(DYNAMIC_MODULE) + /* Use the function in modules so we don't have to export the block +  * alloc stuff. */ + #define free_mapping(M) do_free_mapping (M) + #else +    /** Free a previously allocated mapping. The preferred method of freeing    * a mapping is by calling the @ref do_free_mapping function.    *    * @param M The mapping to be freed    * @see do_free_mapping    * @see free_mapping_data    */   #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__))); \    if(!sub_ref(m_)) \    really_free_mapping(m_); \    }while(0)    -  + #endif /* !DYNAMIC_MODULE */ +    /** Free only the mapping data leaving the mapping structure itself intact.    *    * @param M The mapping structure 'data' member of the mapping whose data is to be removed    * @see free_mapping    * @see really_free_mapping_data    * @see mapping_data    * @see mapping    */   #define free_mapping_data(M) do{ \    struct mapping_data *md_=(M); \