1 /* $NetBSD: realloc.c,v 1.1.1.1 2016/01/10 21:36:18 christos Exp $ */
2
3 /* rpl_realloc.c -- a replacement for broken realloc implementations
4 Copyright (C) 2001 Free Software Foundation, Inc.
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software Foundation,
18 Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
19
20 #include <stdlib.h>
21
22 void *
rpl_realloc(void * ptr,size_t size)23 rpl_realloc(void *ptr, size_t size)
24 {
25 if (!ptr)
26 return malloc(size);
27 if (!size)
28 {
29 if (ptr)
30 free(ptr);
31 return malloc(size);
32 }
33 return realloc(ptr, size);
34 }
35