diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 20a9d1b7d4e..dc4c219986b 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -458,7 +458,7 @@ @ stub _fwprintf_p_l @ stub _fwprintf_s_l @ stub _fwrite_nolock -@ stub _fwscanf_l +@ varargs _fwscanf_l(ptr wstr ptr) msvcrt._fwscanf_l @ stub _fwscanf_s_l @ cdecl _gcvt(double long str) msvcrt._gcvt @ stub _gcvt_s diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 60f613274e2..eae71a39b6c 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -450,7 +450,7 @@ @ stub _fwprintf_p_l @ stub _fwprintf_s_l @ stub _fwrite_nolock -@ stub _fwscanf_l +@ varargs _fwscanf_l(ptr wstr ptr) msvcrt._fwscanf_l @ stub _fwscanf_s_l @ cdecl _gcvt(double long str) msvcrt._gcvt @ stub _gcvt_s diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index 2c2f93b74e5..46c8acb0fa4 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -419,7 +419,7 @@ # stub _fwprintf_p # stub _fwprintf_p_l # stub _fwprintf_s_l -# stub _fwscanf_l +@ varargs _fwscanf_l(ptr wstr ptr) MSVCRT__fwscanf_l # stub _fwscanf_s_l @ cdecl _gcvt(double long str) # stub _gcvt_s diff --git a/dlls/msvcrt/scanf.c b/dlls/msvcrt/scanf.c index 4d294fffabb..bcad0046cf2 100644 --- a/dlls/msvcrt/scanf.c +++ b/dlls/msvcrt/scanf.c @@ -159,6 +159,21 @@ int CDECL MSVCRT_fwscanf(MSVCRT_FILE *file, const MSVCRT_wchar_t *format, ...) return res; } +/********************************************************************* + * _fwscanf_l (MSVCRT.@) + */ +int CDECL MSVCRT__fwscanf_l(MSVCRT_FILE *file, const MSVCRT_wchar_t *format, + MSVCRT__locale_t locale, ...) +{ + __ms_va_list valist; + int res; + + __ms_va_start(valist, locale); + res = MSVCRT_vfwscanf_l(file, format, locale, valist); + __ms_va_end(valist); + return res; +} + /********************************************************************* * wscanf (MSVCRT.@) */