diff src/stdlib/SDL_string.c @ 4758:e2f4e31b41fc

Added SDL_wcslcpy and SDL_wcslcat.
author dewyatt
date Tue, 03 Aug 2010 16:52:10 -0400
parents 2072fed2f583
children 8bf5781fc582
line wrap: on
line diff
--- a/src/stdlib/SDL_string.c	Sun Jul 25 13:17:31 2010 -0400
+++ b/src/stdlib/SDL_string.c	Tue Aug 03 16:52:10 2010 -0400
@@ -363,6 +363,33 @@
 }
 #endif
 
+#ifndef HAVE_WCSLCPY
+size_t
+SDL_wcslcpy(wchar_t *dst, const wchar_t *src, size_t maxlen)
+{
+    size_t srclen = SDL_wcslen(src);
+    if (maxlen > 0) {
+        size_t len = SDL_min(srclen, maxlen - 1);
+        SDL_memcpy(dst, src, len * sizeof(wchar_t));
+        dst[len] = '\0';
+    }
+    return srclen;
+}
+#endif
+
+#ifndef HAVE_WCSLCAT
+size_t
+SDL_wcslcat(wchar_t *dst, const wchar_t *src, size_t maxlen)
+{
+    size_t dstlen = SDL_wcslen(dst);
+    size_t srclen = SDL_wcslen(src);
+    if (dstlen < maxlen) {
+        SDL_wcslcpy(dst + dstlen, src, maxlen - dstlen);
+    }
+    return dstlen + srclen;
+}
+#endif
+
 #ifndef HAVE_STRLCPY
 size_t
 SDL_strlcpy(char *dst, const char *src, size_t maxlen)