summaryrefslogtreecommitdiff
path: root/openbsd-compat/bsd-malloc.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbsd-compat/bsd-malloc.c')
-rw-r--r--openbsd-compat/bsd-malloc.c55
1 files changed, 55 insertions, 0 deletions
diff --git a/openbsd-compat/bsd-malloc.c b/openbsd-compat/bsd-malloc.c
new file mode 100644
index 000000000..6402ab588
--- /dev/null
+++ b/openbsd-compat/bsd-malloc.c
@@ -0,0 +1,55 @@
1/*
2 * Copyright (c) 2017 Darren Tucker (dtucker at zip com au).
3 *
4 * Permission to use, copy, modify, and distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17#include "config.h"
18#undef malloc
19#undef calloc
20#undef realloc
21
22#include <sys/types.h>
23#include <stdlib.h>
24
25#if defined(HAVE_MALLOC) && HAVE_MALLOC == 0
26void *
27rpl_malloc(size_t size)
28{
29 if (size == 0)
30 size = 1;
31 return malloc(size);
32}
33#endif
34
35#if defined(HAVE_CALLOC) && HAVE_CALLOC == 0
36void *
37rpl_calloc(size_t nmemb, size_t size)
38{
39 if (nmemb == 0)
40 nmemb = 1;
41 if (size == 0)
42 size = 1;
43 return calloc(nmemb, size);
44}
45#endif
46
47#if defined (HAVE_REALLOC) && HAVE_REALLOC == 0
48void *
49rpl_realloc(void *ptr, size_t size)
50{
51 if (size == 0)
52 size = 1;
53 return realloc(ptr, size);
54}
55#endif