diff options
author | Mattias Andrée <maandree@kth.se> | 2018-11-25 23:05:59 +0100 |
---|---|---|
committer | Mattias Andrée <maandree@kth.se> | 2018-11-25 23:06:03 +0100 |
commit | d8ccc87fed8a4c588e4ad9279e62925f416d36b3 (patch) | |
tree | f02a2138183c53ab95ef96dafeba75ebd9c0c422 /test.c | |
parent | Include wchar.h and wctype.h (diff) | |
download | libsimple-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 '')
-rw-r--r-- | test.c | 28 |
1 files changed, 28 insertions, 0 deletions
@@ -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) { |