Beispiel #1
0
void *_smiRealloc(char *file, int line, void *ptr, size_t size)
{
    char *m = _realloc_leap(file, line, ptr, size);
    if (! m) {
	smiPrintError(NULL, ERR_OUT_OF_MEMORY);
    }
    return m;
}
char *
hypre_ReAllocDML( char *ptr,
                  HYPRE_Int   size,
                  char *file,
                  HYPRE_Int   line )
{
   ptr = _realloc_leap(file, line, ptr, size);

   return ptr;
}
/*
 * replacement for realloc, logs allocation failures
 * and exits with the error message
 */
void *
mycritrealloc(const char *f, long l, void *oa, size_t size, const char *message)
{
    void *a;

#ifdef WITH_DMALLOC
    a = _realloc_leap(f, l, oa, size);
#else
    (void)f;
    (void)l;			/* shut up compiler warnings */
    a = realloc(oa, size);
    if (a == NULL && size == 0)
	a = realloc(oa, 1);
#endif
    if (!a) {
	ln_log(LNLOG_SERR, LNLOG_CTOP,
	       "realloc(%d) failed: %s", (int)size, message);
	exit(EXIT_FAILURE);
    }
    return a;
}