diff --git a/src/block_alloc.h b/src/block_alloc.h index a50a01e8aa8fb027fbccf7a1ac48ef4b9eac8df9..855475abb49ea49c4d874aef9f552de8b5556afe 100644 --- a/src/block_alloc.h +++ b/src/block_alloc.h @@ -2,7 +2,7 @@ || 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: block_alloc.h,v 1.68 2003/06/30 17:06:08 mast Exp $ +|| $Id: block_alloc.h,v 1.69 2004/04/03 15:22:12 mast Exp $ */ #undef PRE_INIT_BLOCK @@ -271,7 +271,6 @@ void PIKE_CONCAT(really_free_,DATA)(struct DATA *d) \ \ DO_IF_DMALLOC({ \ size_t i; \ - extern void dmalloc_check_block_free(void *p, char *loc); \ for (i = 0; i < (BSIZE); i++) { \ dmalloc_check_block_free(blk->x + i, DMALLOC_LOCATION()); \ dmalloc_unregister(blk->x + i, 1); \ @@ -295,7 +294,6 @@ static void PIKE_CONCAT3(free_all_,DATA,_blocks_unlocked)(void) \ for(tmp=PIKE_CONCAT(DATA,_blocks);tmp;tmp=tmp->next) \ { \ size_t tmp2; \ - extern void dmalloc_check_block_free(void *p, char *loc); \ for(tmp2=0;tmp2<(BSIZE);tmp2++) \ { \ dmalloc_check_block_free(tmp->x+tmp2, DMALLOC_LOCATION()); \ diff --git a/src/dmalloc.h b/src/dmalloc.h index 0a6e1e1b338435280e8c68f5610d83a4fa4d80c5..6381540894634eedee39b7dc93e0190b933f04b9 100644 --- a/src/dmalloc.h +++ b/src/dmalloc.h @@ -2,9 +2,12 @@ || 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: dmalloc.h,v 1.46 2004/03/16 18:35:13 mast Exp $ +|| $Id: dmalloc.h,v 1.47 2004/04/03 15:22:12 mast Exp $ */ +#ifndef DMALLOC_H +#define DMALLOC_H + PMOD_EXPORT extern void *debug_xalloc(size_t); PMOD_EXPORT extern void debug_xfree(void *); PMOD_EXPORT extern void *debug_xmalloc(size_t); @@ -16,6 +19,10 @@ PMOD_EXPORT extern void *debug_xrealloc(void *,size_t); #define DMALLOC_LOCATION() DMALLOC_NAMED_LOCATION("") +typedef char *LOCATION; +#define LOCATION_NAME(X) ((X)+1) +#define LOCATION_IS_DYNAMIC(X) ((X)[0]=='D') + #ifdef DMALLOC_TRACE #define DMALLOC_TRACELOGSIZE 131072 @@ -42,22 +49,23 @@ void add_marks_to_memhdr(struct memhdr *to,void *ptr); extern int verbose_debug_malloc; extern void dmalloc_trace(void *); -extern void dmalloc_register(void *, int, char *); +extern void dmalloc_register(void *, int, LOCATION); extern int dmalloc_unregister(void *, int); -extern void *debug_malloc(size_t, char *); -extern void *debug_calloc(size_t, size_t, char *); -extern void *debug_realloc(void *, size_t, char *); -extern void debug_free(void *, char *,int); -extern char *debug_strdup(const char *, char *); +extern void *debug_malloc(size_t, LOCATION); +extern void *debug_calloc(size_t, size_t, LOCATION); +extern void *debug_realloc(void *, size_t, LOCATION); +extern void debug_free(void *, LOCATION, int); +extern char *debug_strdup(const char *, LOCATION); extern void reset_debug_malloc(void); +void dmalloc_check_block_free(void *, LOCATION); extern void dmalloc_free(void *p); -extern int debug_malloc_touch_fd(int, char *); -extern int debug_malloc_register_fd(int, char *); -extern int debug_malloc_close_fd(int, char *); +extern int debug_malloc_touch_fd(int, LOCATION); +extern int debug_malloc_register_fd(int, LOCATION); +extern int debug_malloc_close_fd(int, LOCATION); extern int dmalloc_mark_as_free(void*,int); -void *debug_malloc_update_location(void *, char *); -void *debug_malloc_update_location_ptr(void *, ptrdiff_t, char *); +void *debug_malloc_update_location(void *, LOCATION); +void *debug_malloc_update_location_ptr(void *, ptrdiff_t, LOCATION); void search_all_memheaders_for_references(void); void cleanup_memhdrs(void); void cleanup_debug_malloc(void); @@ -170,3 +178,5 @@ int dmalloc_is_invalid_memory_block(void *block); #endif /* !MALLOC_TRACE */ #endif /* !DEBUG_MALLOC */ + +#endif /* !DMALLOC_H */ diff --git a/src/pike_memory.c b/src/pike_memory.c index 28f826f0a2646f7487bfb1feff8a194031615e0a..32cbe545e932a4888ed3f782214079ccf2401862 100644 --- a/src/pike_memory.c +++ b/src/pike_memory.c @@ -2,7 +2,7 @@ || 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: pike_memory.c,v 1.149 2004/03/24 20:05:34 grubba Exp $ +|| $Id: pike_memory.c,v 1.150 2004/04/03 15:23:05 mast Exp $ */ #include "global.h" @@ -11,7 +11,7 @@ #include "pike_macros.h" #include "gc.h" -RCSID("$Id: pike_memory.c,v 1.149 2004/03/24 20:05:34 grubba Exp $"); +RCSID("$Id: pike_memory.c,v 1.150 2004/04/03 15:23:05 mast Exp $"); /* strdup() is used by several modules, so let's provide it */ #ifndef HAVE_STRDUP @@ -691,10 +691,6 @@ void *fake_calloc(size_t x, size_t y) #define strdup __real_strdup #endif -#define LOCATION char * -#define LOCATION_NAME(X) ((X)+1) -#define LOCATION_IS_DYNAMIC(X) ((X)[0]=='D') - static struct memhdr *my_find_memhdr(void *, int);