196896Sgrog/* Just a replacement, if the original malloc is not
296896Sgrog   GNU-compliant. Based on malloc.c */
396896Sgrog
496896Sgrog#if HAVE_CONFIG_H
596896Sgrog#include <ldns/config.h>
696897Sgrog#endif
796897Sgrog#undef realloc
896897Sgrog
996897Sgrog#include <sys/types.h>
1096897Sgrog
1196897Sgrogvoid *realloc (void*, size_t);
1296897Sgrogvoid *malloc (size_t);
1396897Sgrog
1496897Sgrog/* Changes allocation to new sizes, copies over old data.
1596897Sgrog * if oldptr is NULL, does a malloc.
1696897Sgrog * if size is zero, allocate 1-byte block....
1796897Sgrog *   (does not return NULL and free block)
1896897Sgrog */
1996897Sgrog
2096897Sgrogvoid *
2196897Sgrogrpl_realloc (void* ptr, size_t n)
2296897Sgrog{
2396897Sgrog  if (n == 0)
2496897Sgrog    n = 1;
2596897Sgrog  if(ptr == 0) {
2696897Sgrog    return malloc(n);
2796897Sgrog  }
2896897Sgrog  return realloc(ptr, n);
2996897Sgrog}
3096897Sgrog
3196897Sgrog