#include /********************************************************************* * _mbstowcs_l (MSVCRT.@) */ 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(!mbstr) { _set_errno(EINVAL); return -1; } if(!locale) locinfo = get_locinfo(); else locinfo = ((MSVCRT__locale_t)locale)->locinfo; if(!locinfo->lc_codepage) { if(!wcstr) return strlen(mbstr); for(i=0; ilc_codepage, 0, mbstr, -1, NULL, 0)-1; for(i=0, size=0; ilc_codepage, 0, mbstr, size, wcstr, count); if(!size) { if(count) wcstr[0] = '\0'; _set_errno(EILSEQ); return -1; } } if(size