summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorLucas Stach <l.stach@pengutronix.de>2014-12-08 14:42:35 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2014-12-09 09:59:10 +0100
commit42c8b4589a9bd021df7bc6d52dd603dbf99164e5 (patch)
tree279150521e9222eb91dc07fcf213c41b99a6f952 /lib
parent26793cc2cc75a29dd9924b0e53cbc2a7c77996bd (diff)
downloadbarebox-42c8b4589a9bd021df7bc6d52dd603dbf99164e5.tar.gz
barebox-42c8b4589a9bd021df7bc6d52dd603dbf99164e5.tar.xz
lib: add wchar strdup
Signed-off-by: Lucas Stach <l.stach@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'lib')
-rw-r--r--lib/wchar.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/wchar.c b/lib/wchar.c
index 6368a01994..b2e9e7545b 100644
--- a/lib/wchar.c
+++ b/lib/wchar.c
@@ -31,6 +31,22 @@ size_t wcslen(const wchar_t *s)
return len;
}
+wchar_t *strdup_wchar(const wchar_t *src)
+{
+ int len = wcslen(src);
+ wchar_t *tmp, *dst;
+
+ if (!(dst = malloc((len + 1) * sizeof(wchar_t))))
+ return NULL;
+
+ tmp = dst;
+
+ while ((*dst++ = *src++))
+ /* nothing */;
+
+ return tmp;
+}
+
char *strcpy_wchar_to_char(char *dst, const wchar_t *src)
{
char *ret = dst;