diff options
Diffstat (limited to 'lib/realloc.c')
-rw-r--r-- | lib/realloc.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lib/realloc.c b/lib/realloc.c new file mode 100644 index 0000000..79bfd28 --- /dev/null +++ b/lib/realloc.c @@ -0,0 +1,29 @@ +#include <config.h> +#undef realloc +#undef malloc + +#include <stdlib.h> + +#include <errno.h> + +void * rpl_realloc (void *p, size_t n) +{ + void *result; + + if (n == 0) + { + n = 1; + } + + if (p == NULL) + { + result = malloc (n); + } + else + result = realloc (p, n); + + if (result == NULL) + errno = ENOMEM; + + return result; +} |