diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 90a374bfbec..b20223aced3 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -921,7 +921,7 @@ @ stub _sprintf_p @ stub _sprintf_p_l @ stub _sprintf_s_l -@ stub _sscanf_l +@ varargs _sscanf_l(str str ptr) msvcrt._sscanf_l @ stub _sscanf_s_l @ stub _stat32 @ stub _stat32i64 diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 89d38240e42..9da64e789e5 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -907,7 +907,7 @@ @ stub _sprintf_p @ stub _sprintf_p_l @ stub _sprintf_s_l -@ stub _sscanf_l +@ varargs _sscanf_l(str str ptr) msvcrt._sscanf_l @ stub _sscanf_s_l @ stub _stat32 @ stub _stat32i64 diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index 3332469e8e7..6eb3114a5c1 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -856,7 +856,7 @@ # stub _sprintf_l # stub _sprintf_p_l # stub _sprintf_s_l -# stub _sscanf_l +@ varargs _sscanf_l(str str ptr) MSVCRT__sscanf_l # stub _sscanf_s_l @ cdecl _stat(str ptr) MSVCRT_stat @ cdecl _stat64(str ptr) MSVCRT_stat64 diff --git a/dlls/msvcrt/scanf.c b/dlls/msvcrt/scanf.c index 504a92d094a..079f4505e4b 100644 --- a/dlls/msvcrt/scanf.c +++ b/dlls/msvcrt/scanf.c @@ -217,6 +217,20 @@ int CDECL MSVCRT_sscanf(const char *str, const char *format, ...) return res; } +/********************************************************************* + * _sscanf_l (MSVCRT.@) + */ +int CDECL MSVCRT__sscanf_l(const char *str, const char *format, + MSVCRT__locale_t locale, ...) +{ + __ms_va_list valist; + int res; + + __ms_va_start(valist, locale); + res = MSVCRT_vsscanf_l(str, format, locale, valist); + __ms_va_end(valist); + return res; +} /********************************************************************* * swscanf (MSVCRT.@)