Skip to content
Snippets Groups Projects
Commit 821f947d authored by Martin Stjernholm's avatar Martin Stjernholm
Browse files

Made some macros more robust.

Rev: src/mapping.h:1.39
parent 77ef81da
No related branches found
No related tags found
No related merge requests found
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
\*/ \*/
/* /*
* $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 #ifndef MAPPING_H
#define MAPPING_H #define MAPPING_H
...@@ -68,17 +68,17 @@ extern struct mapping *gc_internal_mapping; ...@@ -68,17 +68,17 @@ extern struct mapping *gc_internal_mapping;
#ifndef PIKE_MAPPING_KEYPAIR_LOOP #ifndef PIKE_MAPPING_KEYPAIR_LOOP
#define NEW_MAPPING_LOOP(md) \ #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 */ /* WARNING: this should not be used */
#define MAPPING_LOOP(m) \ #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 */ #else /* PIKE_MAPPING_KEYPAIR_LOOP */
#define NEW_MAPPING_LOOP(md) \ #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 */ /* WARNING: this should not be used */
#define MAPPING_LOOP(m) \ #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 */ #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(M) do{ struct mapping *m_=(M); debug_malloc_touch(m_); if(!sub_ref(m_)) really_free_mapping(m_); }while(0)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment