summaryrefslogtreecommitdiffstats
path: root/src/compat/realloc.c
blob: 4d74064be3f78d87c59e1ba63a57db2a28182eac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* -*- mode: c; c-file-style: "openbsd" -*- */
/* realloc replacement that can reallocate 0 byte or NULL pointers*/

#undef realloc
#include <stdlib.h>
#include <sys/types.h>
#include "compat.h"

/* Reallocate an N-byte block of memory from the heap.
   If N is zero, allocate a 1-byte block.  */
void *
rpl_realloc(void *ptr, size_t n)
{
	if (!ptr) return malloc(n);
	if (n == 0) n = 1;
	return realloc(ptr, n);
}