Modified CALLOC macro. Now uses calloc if LIBGC is not installed and malloc otherwise.

LIBGC provides a malloc that clean the allocated memory.
This commit is contained in:
pnenzi 2001-02-06 18:29:13 +00:00
parent ef0b33fdde
commit 8b7f406003
1 changed files with 10 additions and 6 deletions

View File

@ -255,13 +255,17 @@
#define FREE(ptr) { if ((ptr) != NULL) txfree((char *)(ptr)); (ptr) = NULL; }
/* Calloc that properly handles allocating a cleared vector. */
#define CALLOC(ptr,type,number) \
{ int i; ptr = ALLOC(type, number); \
if (ptr != (type *)NULL) \
for(i=(number)-1;i>=0; i--) ptr[i] = (type) 0; \
}
/* A new calloc */
#ifndef HAVE_LIBGC
#define CALLOC(ptr,type,number) \
{ ptr = (type *) calloc(type, number); \
}
#else /* HAVE_LIBCG */
#define CALLOC(ptr,type,number) \
{ ptr = (type *) tmalloc(((size_t)number) * sizeof(type)); \
}
#endif
#include "complex.h"