aboutsummaryrefslogtreecommitdiffstats
path: root/test.c
diff options
context:
space:
mode:
authorMattias Andrée <maandree@kth.se>2018-11-25 23:05:59 +0100
committerMattias Andrée <maandree@kth.se>2018-11-25 23:06:03 +0100
commitd8ccc87fed8a4c588e4ad9279e62925f416d36b3 (patch)
treef02a2138183c53ab95ef96dafeba75ebd9c0c422 /test.c
parentInclude wchar.h and wctype.h (diff)
downloadlibsimple-d8ccc87fed8a4c588e4ad9279e62925f416d36b3.tar.gz
libsimple-d8ccc87fed8a4c588e4ad9279e62925f416d36b3.tar.bz2
libsimple-d8ccc87fed8a4c588e4ad9279e62925f416d36b3.tar.xz
Some fixes and add wide-character string duplication functions
Signed-off-by: Mattias Andrée <maandree@kth.se>
Diffstat (limited to 'test.c')
-rw-r--r--test.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/test.c b/test.c
index f785483..01100e8 100644
--- a/test.c
+++ b/test.c
@@ -236,6 +236,34 @@ memdup(const void *s, size_t size)
}
+wchar_t *
+wcsdup(const wchar_t *s)
+{
+ wchar_t *r;
+ size_t n = wcslen(s) + 1;
+ if (n > SIZE_MAX / sizeof(wchar_t)) {
+ errno = ENOMEM;
+ return NULL;
+ }
+ r = malloc(n * sizeof(wchar_t));
+ return r ? wcscpy(r, s) : r;
+}
+
+
+wchar_t *
+wcsndup(const wchar_t *s, size_t n)
+{
+ return libsimple_wcsndup(s, n);
+}
+
+
+wchar_t *
+wmemdup(const wchar_t *s, size_t n)
+{
+ return libsimple_wmemdup(s, n);
+}
+
+
void
free(void *ptr)
{