pike.git / src / mapping.c

version» Context lines:

pike.git/src/mapping.c: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.   \*/   /**/   #include "global.h" - RCSID("$Id: mapping.c,v 1.118 2001/02/22 19:18:08 hubbe Exp $"); + RCSID("$Id: mapping.c,v 1.119 2001/03/28 10:02:41 hubbe Exp $");   #include "main.h"   #include "object.h"   #include "mapping.h"   #include "svalue.h"   #include "array.h"   #include "pike_macros.h"   #include "pike_error.h"   #include "pike_memory.h"   #include "dynamic_buffer.h"   #include "interpret.h"
pike.git/src/mapping.c:41:      #define MD_KEYPAIRS(MD, HSIZE) \    ( (struct keypair *)DO_ALIGN( (ptrdiff_t) (((struct mapping_data *)(MD))->hash + HSIZE), ALIGNOF(struct keypair)) )      #define MAPPING_DATA_SIZE(HSIZE, KEYPAIRS) \    (ptrdiff_t)( MD_KEYPAIRS(0, HSIZE) + KEYPAIRS )            #undef EXIT_BLOCK - #define EXIT_BLOCK(m) \ + #define EXIT_BLOCK(m) do{ \    INT32 e; \   DO_IF_DEBUG( \    if(m->refs) \    fatal("really free mapping on mapping with nonzero refs.\n"); \   ) \    \    FREE_PROT(m); \    \    unlink_mapping_data(m->data); \    \    DOUBLEUNLINK(first_mapping, m); \    \ -  GC_FREE(m); +  GC_FREE(m); \ + }while(0)         #undef COUNT_OTHER      #define COUNT_OTHER() do{ \    struct mapping *m; \    for(m=first_mapping;m;m=m->next) \    { \    num++; \    size+=MAPPING_DATA_SIZE(m->data->hashsize, m->data->num_keypairs); \