1*7b5038d7SDag-Erling Smørgrav /* Just a replacement, if the original malloc is not 2*7b5038d7SDag-Erling Smørgrav GNU-compliant. Based on malloc.c */ 3*7b5038d7SDag-Erling Smørgrav 4*7b5038d7SDag-Erling Smørgrav #if HAVE_CONFIG_H 5*7b5038d7SDag-Erling Smørgrav #include <ldns/config.h> 6*7b5038d7SDag-Erling Smørgrav #endif 7*7b5038d7SDag-Erling Smørgrav #undef realloc 8*7b5038d7SDag-Erling Smørgrav 9*7b5038d7SDag-Erling Smørgrav #include <sys/types.h> 10*7b5038d7SDag-Erling Smørgrav 11*7b5038d7SDag-Erling Smørgrav void *realloc (void*, size_t); 12*7b5038d7SDag-Erling Smørgrav void *malloc (size_t); 13*7b5038d7SDag-Erling Smørgrav 14*7b5038d7SDag-Erling Smørgrav /* Changes allocation to new sizes, copies over old data. 15*7b5038d7SDag-Erling Smørgrav * if oldptr is NULL, does a malloc. 16*7b5038d7SDag-Erling Smørgrav * if size is zero, allocate 1-byte block.... 17*7b5038d7SDag-Erling Smørgrav * (does not return NULL and free block) 18*7b5038d7SDag-Erling Smørgrav */ 19*7b5038d7SDag-Erling Smørgrav 20*7b5038d7SDag-Erling Smørgrav void * rpl_realloc(void * ptr,size_t n)21*7b5038d7SDag-Erling Smørgravrpl_realloc (void* ptr, size_t n) 22*7b5038d7SDag-Erling Smørgrav { 23*7b5038d7SDag-Erling Smørgrav if (n == 0) 24*7b5038d7SDag-Erling Smørgrav n = 1; 25*7b5038d7SDag-Erling Smørgrav if(ptr == 0) { 26*7b5038d7SDag-Erling Smørgrav return malloc(n); 27*7b5038d7SDag-Erling Smørgrav } 28*7b5038d7SDag-Erling Smørgrav return realloc(ptr, n); 29*7b5038d7SDag-Erling Smørgrav } 30*7b5038d7SDag-Erling Smørgrav 31