Added SDL_wcslcpy and SDL_wcslcat.
This commit is contained in:
parent
cae6f1376d
commit
12881b428c
2 changed files with 40 additions and 0 deletions
|
@ -470,6 +470,19 @@ extern DECLSPEC size_t SDLCALL SDL_strlen(const char *string);
|
||||||
extern DECLSPEC size_t SDLCALL SDL_wcslen(const wchar_t * string);
|
extern DECLSPEC size_t SDLCALL SDL_wcslen(const wchar_t * string);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_WCSLCPY
|
||||||
|
#define SDL_wcslcpy wcslcpy
|
||||||
|
#else
|
||||||
|
extern DECLSPEC size_t SDLCALL SDL_wcslcpy(wchar_t *dst, const wchar_t *src, size_t maxlen);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_WCSLCAT
|
||||||
|
#define SDL_wcslcat wcslcat
|
||||||
|
#else
|
||||||
|
extern DECLSPEC size_t SDLCALL SDL_wcslcat(wchar_t *dst, const wchar_t *src, size_t maxlen);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef HAVE_STRLCPY
|
#ifdef HAVE_STRLCPY
|
||||||
#define SDL_strlcpy strlcpy
|
#define SDL_strlcpy strlcpy
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -363,6 +363,33 @@ SDL_wcslen(const wchar_t * string)
|
||||||
}
|
}
|
||||||
#endif
|
#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
|
#ifndef HAVE_STRLCPY
|
||||||
size_t
|
size_t
|
||||||
SDL_strlcpy(char *dst, const char *src, size_t maxlen)
|
SDL_strlcpy(char *dst, const char *src, size_t maxlen)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue