|
#include <stdlib.h>
#include <unistd.h>
#include <strings.h>
#include <sys/types.h>
inline
void *
xmalloc(size_t n)
{
register void *ptr = NULL;
if ((ptr = malloc(n)) == NULL) {
perror("xmalloc");
exit(EXIT_FAILURE);
}
bzero(ptr, n);
return ptr;
}
inline
void *
xrealloc(void *ptr, size_t n)
{
if ((ptr = realloc(ptr, n)) == NULL) {
perror("xrealloc");
exit(EXIT_FAILURE);
}
bzero(ptr, n);
return ptr;
}
inline
void *
xcalloc(size_t nelem, size_t elsize)
{
register void *newmem = NULL;
newmem = calloc(nelem ? nelem : 1, elsize ? elsize : 1);
if (newmem == NULL) {
perror("xcalloc");
exit(EXIT_FAILURE);
}
return newmem;
}
inline
void
xfree(void *ptr)
{
if (ptr == NULL) {
return;
}
free(ptr);
ptr = NULL;
}
|
|