diff options
Diffstat (limited to 'src/common/malloc.c')
-rw-r--r-- | src/common/malloc.c | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/common/malloc.c b/src/common/malloc.c index c647dc18f..63de90cb3 100644 --- a/src/common/malloc.c +++ b/src/common/malloc.c @@ -6,23 +6,24 @@ #include "malloc.h" +#include "common/cbasetypes.h" +#include "common/core.h" +#include "common/showmsg.h" +#include "common/sysinfo.h" + #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <time.h> - -#include "../common/core.h" -#include "../common/showmsg.h" -#include "../common/sysinfo.h" struct malloc_interface iMalloc_s; +struct malloc_interface *iMalloc; ////////////// Memory Libraries ////////////////// #if defined(MEMWATCH) # include <string.h> -# include "memwatch.h" +# include <memwatch.h> # define MALLOC(n,file,line,func) mwMalloc((n),(file),(line)) # define CALLOC(m,n,file,line,func) mwCalloc((m),(n),(file),(line)) # define REALLOC(p,n,file,line,func) mwRealloc((p),(n),(file),(line)) @@ -36,7 +37,7 @@ struct malloc_interface iMalloc_s; # include <string.h> # include <stdlib.h> -# include "dmalloc.h" +# include <dmalloc.h> # define MALLOC(n,file,line,func) dmalloc_malloc((file),(line),(n),DMALLOC_FUNC_MALLOC,0,0) # define CALLOC(m,n,file,line,func) dmalloc_malloc((file),(line),(m)*(n),DMALLOC_FUNC_CALLOC,0,0) # define REALLOC(p,n,file,line,func) dmalloc_realloc((file),(line),(p),(n),DMALLOC_FUNC_REALLOC,0) @@ -48,7 +49,7 @@ struct malloc_interface iMalloc_s; #elif defined(GCOLLECT) -# include "gc.h" +# include <gc.h> # ifdef GC_ADD_CALLER # define RETURN_ADDR 0, # else @@ -342,7 +343,8 @@ void *mmalloc_(size_t size, const char *file, int line, const char *func) { void *mcalloc_(size_t num, size_t size, const char *file, int line, const char *func) { void *p = iMalloc->malloc(num * size,file,line,func); - memset(p,0,num * size); + if (p) + memset(p, 0, num * size); return p; } |