Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2009-02-16 23:22:38 +0300
committerCorinna Vinschen <corinna@vinschen.de>2009-02-16 23:22:38 +0300
commitc6b9747e0493e77bebb50082ced2bae877bc4aea (patch)
tree36f3e95aa9a7e4e9e24f5da6cb1f0b13d0a61035
parentde5c20c2deec25e448745a4baccc27517924108b (diff)
* cygwin.din: Export reallocf.
* malloc_wrapper.cc( reallocf): New function. * posix.sgml: Add reallocf to BSD section. * include/cygwin/version.h: Bump API minor number. * libc/fts.c: Remove erroneous reallocf definition.
-rw-r--r--winsup/cygwin/ChangeLog8
-rw-r--r--winsup/cygwin/cygwin.din1
-rw-r--r--winsup/cygwin/include/cygwin/version.h3
-rw-r--r--winsup/cygwin/libc/fts.c1
-rw-r--r--winsup/cygwin/malloc_wrapper.cc11
-rw-r--r--winsup/cygwin/posix.sgml1
6 files changed, 23 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 35f46785e..63ab00ada 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,13 @@
2009-02-16 Corinna Vinschen <corinna@vinschen.de>
+ * cygwin.din: Export reallocf.
+ * malloc_wrapper.cc( reallocf): New function.
+ * posix.sgml: Add reallocf to BSD section.
+ * include/cygwin/version.h: Bump API minor number.
+ * libc/fts.c: Remove erroneous reallocf definition.
+
+2009-02-16 Corinna Vinschen <corinna@vinschen.de>
+
* cygwin.din: Export wcstoimax, wcstoumax.
* posix.sgml: Move wcstoimax and wcstoumax to SUSv4 section.
* include/inttypes.h: Declare wcstoimax and wcstoumax.
diff --git a/winsup/cygwin/cygwin.din b/winsup/cygwin/cygwin.din
index f38738f0d..0b245007d 100644
--- a/winsup/cygwin/cygwin.din
+++ b/winsup/cygwin/cygwin.din
@@ -1197,6 +1197,7 @@ readv SIGFE
_readv = readv SIGFE
realloc SIGFE
_realloc = realloc SIGFE
+reallocf SIGFE
realpath SIGFE
recv = cygwin_recv SIGFE
recvfrom = cygwin_recvfrom SIGFE
diff --git a/winsup/cygwin/include/cygwin/version.h b/winsup/cygwin/include/cygwin/version.h
index b442770e2..cbf3ec389 100644
--- a/winsup/cygwin/include/cygwin/version.h
+++ b/winsup/cygwin/include/cygwin/version.h
@@ -346,12 +346,13 @@ details. */
195: Export wcstod, wcstof.
196: Export wcsnlen.
197: Export wcstoimax, wcstoumax.
+ 198: Export reallocf.
*/
/* Note that we forgot to bump the api for ualarm, strtoll, strtoull */
#define CYGWIN_VERSION_API_MAJOR 0
-#define CYGWIN_VERSION_API_MINOR 197
+#define CYGWIN_VERSION_API_MINOR 198
/* There is also a compatibity version number associated with the
shared memory regions. It is incremented when incompatible
diff --git a/winsup/cygwin/libc/fts.c b/winsup/cygwin/libc/fts.c
index c49d1e5fa..56ea58a31 100644
--- a/winsup/cygwin/libc/fts.c
+++ b/winsup/cygwin/libc/fts.c
@@ -44,7 +44,6 @@ static char sccsid[] = "@(#)fts.c 8.6 (Berkeley) 8/14/94";
#define __FBSDID(x)
#define _open open
#define _close close
-#define reallocf realloc
#endif
#include <sys/cdefs.h>
__FBSDID("$FreeBSD: /repoman/r/ncvs/src/lib/libc/gen/fts.c,v 1.27 2004/06/08 06:23:23 das Exp $");
diff --git a/winsup/cygwin/malloc_wrapper.cc b/winsup/cygwin/malloc_wrapper.cc
index 48a82beca..86b74d564 100644
--- a/winsup/cygwin/malloc_wrapper.cc
+++ b/winsup/cygwin/malloc_wrapper.cc
@@ -84,6 +84,17 @@ realloc (void *p, size_t size)
return res;
}
+/* BSD extension: Same as realloc, just if it fails to allocate new memory,
+ it frees the incoming pointer. */
+extern "C" void *
+reallocf (void *p, size_t size)
+{
+ void *res = realloc (p, size);
+ if (!res && p)
+ free (p);
+ return res;
+}
+
extern "C" void *
calloc (size_t nmemb, size_t size)
{
diff --git a/winsup/cygwin/posix.sgml b/winsup/cygwin/posix.sgml
index d2a5100f5..b15e7a58a 100644
--- a/winsup/cygwin/posix.sgml
+++ b/winsup/cygwin/posix.sgml
@@ -912,6 +912,7 @@ also IEEE Std 1003.1-2008 (POSIX.1-2008).</para>
openpty
rcmd
rcmd_af
+ reallocf
res_close
res_init
res_mkquery