Added the debugging realloc() function.

This commit is contained in:
Robert James Kaes 2001-09-11 19:27:27 +00:00
parent 2c3cc9185d
commit e2f10bc2ea
2 changed files with 12 additions and 2 deletions

View File

@ -1,4 +1,4 @@
/* $Id: utils.c,v 1.10 2001-09-08 18:55:58 rjkaes Exp $
/* $Id: utils.c,v 1.11 2001-09-11 19:27:27 rjkaes Exp $
*
* Misc. routines which are used by the various functions to handle strings
* and memory allocation and pretty much anything else we can think of. Also,
@ -49,6 +49,13 @@ void *debugging_malloc(size_t size, const char *file, unsigned long line)
return ptr;
}
void *debugging_realloc(void *ptr, size_t size, const char *file, unsigned long line)
{
void *newptr = realloc(ptr, size);
fprintf(stderr, "{realloc: %p -> %p:%u} %s:%lu\n", ptr, newptr, size, file, line);
return newptr;
}
void debugging_free(void *ptr, const char *file, unsigned long line)
{
fprintf(stderr, "{free: %p} %s:%lu\n", ptr, file, line);

View File

@ -1,4 +1,4 @@
/* $Id: utils.h,v 1.7 2001-09-08 18:55:58 rjkaes Exp $
/* $Id: utils.h,v 1.8 2001-09-11 19:27:27 rjkaes Exp $
*
* See 'utils.h' for a detailed description.
*
@ -42,13 +42,16 @@ extern size_t strlcpy(char *dst, const char *src, size_t size);
extern void *debugging_calloc(size_t nmemb, size_t size, const char *file, unsigned long line);
extern void *debugging_malloc(size_t size, const char *file, unsigned long line);
extern void debugging_free(void *ptr, const char *file, unsigned long line);
extern void *debugging_realloc(void *ptr, size_t size, const char *file, unsigned long line);
# define safecalloc(x, y) debugging_calloc(x, y, __FILE__, __LINE__)
# define safemalloc(x) debugging_malloc(x, __FILE__, __LINE__)
# define saferealloc(x, y) debugging_realloc(x, y, __FILE__, __LINE__)
# define safefree(x) debugging_free(x, __FILE__, __LINE__)
#else
# define safecalloc(x, y) calloc(x, y)
# define safemalloc(x) malloc(x)
# define saferealloc(x, y) realloc(x, y)
# define safefree(x) free(x)
#endif