Mercurial > sdl-ios-xcode
comparison 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 |
comparison
equal
deleted
inserted
replaced
4757:140be6839185 | 4758:e2f4e31b41fc |
---|---|
358 size_t len = 0; | 358 size_t len = 0; |
359 while (*string++) { | 359 while (*string++) { |
360 ++len; | 360 ++len; |
361 } | 361 } |
362 return len; | 362 return len; |
363 } | |
364 #endif | |
365 | |
366 #ifndef HAVE_WCSLCPY | |
367 size_t | |
368 SDL_wcslcpy(wchar_t *dst, const wchar_t *src, size_t maxlen) | |
369 { | |
370 size_t srclen = SDL_wcslen(src); | |
371 if (maxlen > 0) { | |
372 size_t len = SDL_min(srclen, maxlen - 1); | |
373 SDL_memcpy(dst, src, len * sizeof(wchar_t)); | |
374 dst[len] = '\0'; | |
375 } | |
376 return srclen; | |
377 } | |
378 #endif | |
379 | |
380 #ifndef HAVE_WCSLCAT | |
381 size_t | |
382 SDL_wcslcat(wchar_t *dst, const wchar_t *src, size_t maxlen) | |
383 { | |
384 size_t dstlen = SDL_wcslen(dst); | |
385 size_t srclen = SDL_wcslen(src); | |
386 if (dstlen < maxlen) { | |
387 SDL_wcslcpy(dst + dstlen, src, maxlen - dstlen); | |
388 } | |
389 return dstlen + srclen; | |
363 } | 390 } |
364 #endif | 391 #endif |
365 | 392 |
366 #ifndef HAVE_STRLCPY | 393 #ifndef HAVE_STRLCPY |
367 size_t | 394 size_t |