diff --git a/reactos/lib/sdk/crt/stdlib/mbstowcs.c b/reactos/lib/sdk/crt/stdlib/mbstowcs.c index ba7e4c12bef..1fe9917f332 100644 --- a/reactos/lib/sdk/crt/stdlib/mbstowcs.c +++ b/reactos/lib/sdk/crt/stdlib/mbstowcs.c @@ -1,28 +1,43 @@ #include +/********************************************************************* + * _mbstowcs_l + */ +size_t CDECL _mbstowcs_l(wchar_t *wcstr, const char *mbstr, + size_t count, _locale_t locale) +{ + MSVCRT_pthreadlocinfo locinfo; + size_t i, size; + + if(!locale) + locinfo = get_locinfo(); + else + locinfo = ((MSVCRT__locale_t)locale)->locinfo; + + /* Ignore count parameter */ + if(!wcstr) + return MultiByteToWideChar(locinfo->lc_codepage, 0, mbstr, -1, NULL, 0)-1; + + for(i=0, size=0; ilc_codepage, 0, + mbstr, size, wcstr, count); + + if(size