Module: wine Branch: master Commit: 23fdfbc39253736ae07c13631ab0dd089117a642 URL: http://source.winehq.org/git/wine.git/?a=commit;h=23fdfbc39253736ae07c13631a...
Author: Hans Leidekker hans@codeweavers.com Date: Wed Sep 29 09:57:52 2010 +0200
msvcrt: Implement wcsnlen.
---
dlls/msvcr100/msvcr100.spec | 2 +- dlls/msvcr80/msvcr80.spec | 2 +- dlls/msvcr90/msvcr90.spec | 2 +- dlls/msvcrt/msvcrt.spec | 2 +- dlls/msvcrt/wcs.c | 12 ++++++++++++ 5 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 7b8be69..79517e5 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -1644,7 +1644,7 @@ @ cdecl wcsncmp(wstr wstr long) msvcrt.wcsncmp @ cdecl wcsncpy(ptr wstr long) msvcrt.wcsncpy @ cdecl wcsncpy_s(ptr long wstr long) msvcrt.wcsncpy_s -@ stub wcsnlen +@ cdecl wcsnlen(wstr long) msvcrt.wcsnlen @ cdecl wcspbrk(wstr wstr) msvcrt.wcspbrk @ cdecl wcsrchr(wstr long) msvcrt.wcsrchr @ stub wcsrtombs diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 27c4088..3795264 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -1498,7 +1498,7 @@ @ cdecl wcsncmp(wstr wstr long) msvcrt.wcsncmp @ cdecl wcsncpy(ptr wstr long) msvcrt.wcsncpy @ cdecl wcsncpy_s(ptr long wstr long) msvcrt.wcsncpy_s -@ stub wcsnlen +@ cdecl wcsnlen(wstr long) msvcrt.wcsnlen @ cdecl wcspbrk(wstr wstr) msvcrt.wcspbrk @ cdecl wcsrchr(wstr long) msvcrt.wcsrchr @ stub wcsrtombs diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 00ccade..c0ed8b6 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -1482,7 +1482,7 @@ @ cdecl wcsncmp(wstr wstr long) msvcrt.wcsncmp @ cdecl wcsncpy(ptr wstr long) msvcrt.wcsncpy @ cdecl wcsncpy_s(ptr long wstr long) msvcrt.wcsncpy_s -@ stub wcsnlen +@ cdecl wcsnlen(wstr long) msvcrt.wcsnlen @ cdecl wcspbrk(wstr wstr) msvcrt.wcspbrk @ cdecl wcsrchr(wstr long) msvcrt.wcsrchr @ stub wcsrtombs diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index 5325227..341093b 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -1444,7 +1444,7 @@ @ cdecl wcsncmp(wstr wstr long) ntdll.wcsncmp @ cdecl wcsncpy(ptr wstr long) ntdll.wcsncpy @ cdecl wcsncpy_s(ptr long wstr long) MSVCRT_wcsncpy_s -# stub wcsnlen +@ cdecl wcsnlen(wstr long) MSVCRT_wcsnlen @ cdecl wcspbrk(wstr wstr) MSVCRT_wcspbrk @ cdecl wcsrchr(wstr long) ntdll.wcsrchr # stub wcsrtombs diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c index d192c23..47a50b6 100644 --- a/dlls/msvcrt/wcs.c +++ b/dlls/msvcrt/wcs.c @@ -1737,3 +1737,15 @@ unsigned __int64 CDECL MSVCRT__wcstoui64(const MSVCRT_wchar_t *nptr, { return MSVCRT__wcstoui64_l(nptr, endptr, base, NULL); } + +/****************************************************************** + * wcsnlen (MSVCRT.@) + */ +MSVCRT_size_t CDECL MSVCRT_wcsnlen(const MSVCRT_wchar_t *s, MSVCRT_size_t maxlen) +{ + MSVCRT_size_t i; + + for (i = 0; i < maxlen; i++) + if (!s[i]) break; + return i; +}