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:
Diffstat (limited to 'winsup/cygwin/cygheap.cc')
-rw-r--r--winsup/cygwin/cygheap.cc25
1 files changed, 25 insertions, 0 deletions
diff --git a/winsup/cygwin/cygheap.cc b/winsup/cygwin/cygheap.cc
index 23e193bc3..e3a2918b7 100644
--- a/winsup/cygwin/cygheap.cc
+++ b/winsup/cygwin/cygheap.cc
@@ -24,6 +24,7 @@
#include "sigproc.h"
#include "pinfo.h"
#include <unistd.h>
+#include <wchar.h>
init_cygheap NO_COPY *cygheap;
void NO_COPY *cygheap_max;
@@ -354,6 +355,30 @@ ccalloc_abort (cygheap_types x, DWORD n, DWORD size)
return ccalloc (x, n, size, "ccalloc");
}
+extern "C" PWCHAR __stdcall
+cwcsdup (const PWCHAR s)
+{
+ MALLOC_CHECK;
+ PWCHAR p = (PWCHAR) cmalloc (HEAP_STR, wcslen (s) + 1);
+ if (!p)
+ return NULL;
+ wcpcpy (p, s);
+ MALLOC_CHECK;
+ return p;
+}
+
+extern "C" PWCHAR __stdcall
+cwcsdup1 (const PWCHAR s)
+{
+ MALLOC_CHECK;
+ PWCHAR p = (PWCHAR) cmalloc (HEAP_1_STR, wcslen (s) + 1);
+ if (!p)
+ return NULL;
+ wcpcpy (p, s);
+ MALLOC_CHECK;
+ return p;
+}
+
extern "C" char *__stdcall
cstrdup (const char *s)
{