aboutsummaryrefslogtreecommitdiff
path: root/contrib/diff/lib/realloc.c
diff options
context:
space:
mode:
authorXin LI <delphij@FreeBSD.org>2007-06-15 07:06:13 +0000
committerXin LI <delphij@FreeBSD.org>2007-06-15 07:06:13 +0000
commit18fd37a72c3a7549d2d4f6c6ea00bdcd2bdaca01 (patch)
treefa574500c8a91fba34c02a5fbe177ac9ef1890ea /contrib/diff/lib/realloc.c
parent964382dc0066873eacb403467b4abb729f7cb0cd (diff)
Notes
Diffstat (limited to 'contrib/diff/lib/realloc.c')
-rw-r--r--contrib/diff/lib/realloc.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/contrib/diff/lib/realloc.c b/contrib/diff/lib/realloc.c
new file mode 100644
index 000000000000..ccbf991388e5
--- /dev/null
+++ b/contrib/diff/lib/realloc.c
@@ -0,0 +1,39 @@
+/* Work around bug on some systems where realloc (NULL, 0) fails.
+ Copyright (C) 1997, 2003 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+
+/* written by Jim Meyering */
+
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
+#undef realloc
+
+#include <stdlib.h>
+
+/* Change the size of an allocated block of memory P to N bytes,
+ with error checking. If N is zero, change it to 1. If P is NULL,
+ use malloc. */
+
+void *
+rpl_realloc (void *p, size_t n)
+{
+ if (n == 0)
+ n = 1;
+ if (p == 0)
+ return malloc (n);
+ return realloc (p, n);
+}