1998-05-03 16:43:39 +00:00
|
|
|
/*
|
|
|
|
* BIRD Library -- malloc() With Checking
|
|
|
|
*
|
2000-06-04 18:34:39 +00:00
|
|
|
* (c) 1998--2000 Martin Mares <mj@ucw.cz>
|
1998-05-03 16:43:39 +00:00
|
|
|
*
|
|
|
|
* Can be freely distributed and used under the terms of the GNU GPL.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
|
|
|
#include "nest/bird.h"
|
|
|
|
#include "lib/resource.h"
|
|
|
|
|
1999-03-04 11:36:26 +00:00
|
|
|
#ifndef HAVE_LIBDMALLOC
|
|
|
|
|
2000-06-04 18:34:39 +00:00
|
|
|
/**
|
|
|
|
* xmalloc - malloc with checking
|
|
|
|
* @size: block size
|
|
|
|
*
|
|
|
|
* This function is equivalent to malloc() except that in case of
|
|
|
|
* failure it calls die() to quit the program instead of returning
|
|
|
|
* a %NULL pointer.
|
|
|
|
*
|
2000-06-07 12:29:08 +00:00
|
|
|
* Wherever possible, please use the memory resources instead.
|
2000-06-04 18:34:39 +00:00
|
|
|
*/
|
1998-05-03 16:43:39 +00:00
|
|
|
void *
|
|
|
|
xmalloc(unsigned size)
|
|
|
|
{
|
|
|
|
void *p = malloc(size);
|
|
|
|
if (p)
|
|
|
|
return p;
|
|
|
|
die("Unable to allocate %d bytes of memory", size);
|
|
|
|
}
|
1999-03-04 11:36:26 +00:00
|
|
|
|
2009-06-10 21:45:08 +00:00
|
|
|
/**
|
|
|
|
* xrealloc - realloc with checking
|
|
|
|
* @ptr: original memory block
|
|
|
|
* @size: block size
|
|
|
|
*
|
|
|
|
* This function is equivalent to realloc() except that in case of
|
|
|
|
* failure it calls die() to quit the program instead of returning
|
|
|
|
* a %NULL pointer.
|
|
|
|
*
|
|
|
|
* Wherever possible, please use the memory resources instead.
|
|
|
|
*/
|
|
|
|
void *
|
|
|
|
xrealloc(void *ptr, unsigned size)
|
|
|
|
{
|
|
|
|
void *p = realloc(ptr, size);
|
|
|
|
if (p)
|
|
|
|
return p;
|
|
|
|
die("Unable to allocate %d bytes of memory", size);
|
|
|
|
}
|
|
|
|
|
1999-03-04 11:36:26 +00:00
|
|
|
#endif
|