diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index b7d4945dfd4..9b474018ce9 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -657,7 +657,7 @@ @ extern __setlc_active MSVCRT___setlc_active @ cdecl __setusermatherr(ptr) MSVCRT___setusermatherr @ stub __strncnt -@ stub __swprintf_l +@ varargs __swprintf_l(ptr wstr ptr) MSVCRT___swprintf_l @ cdecl __sys_errlist() @ cdecl __sys_nerr() @ cdecl __threadhandle() kernel32.GetCurrentThread diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index c7222b9171a..e99df427f42 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1005,7 +1005,7 @@ @ extern __setlc_active MSVCRT___setlc_active @ cdecl __setusermatherr(ptr) MSVCRT___setusermatherr @ stub __strncnt -@ stub __swprintf_l +@ varargs __swprintf_l(ptr wstr ptr) MSVCRT___swprintf_l @ cdecl __sys_errlist() @ cdecl __sys_nerr() @ cdecl __threadhandle() kernel32.GetCurrentThread diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index 1a1470e6aef..2beb51b7084 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -993,7 +993,7 @@ @ extern __setlc_active MSVCRT___setlc_active @ cdecl __setusermatherr(ptr) MSVCRT___setusermatherr @ stub __strncnt -@ stub __swprintf_l +@ varargs __swprintf_l(ptr wstr ptr) MSVCRT___swprintf_l @ cdecl __sys_errlist() @ cdecl __sys_nerr() @ cdecl __threadhandle() kernel32.GetCurrentThread diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec index f47f906f9dd..e262aa97cf3 100644 --- a/dlls/msvcr120_app/msvcr120_app.spec +++ b/dlls/msvcr120_app/msvcr120_app.spec @@ -966,7 +966,7 @@ @ extern __setlc_active msvcr120.__setlc_active @ cdecl __setusermatherr(ptr) msvcr120.__setusermatherr @ stub __strncnt -@ stub __swprintf_l +@ varargs __swprintf_l(ptr wstr ptr) msvcr120.__swprintf_l @ cdecl __sys_errlist() msvcr120.__sys_errlist @ cdecl __sys_nerr() msvcr120.__sys_nerr @ cdecl __threadhandle() msvcr120.__threadhandle diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 8b40e2e3046..e3de8ac7c63 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -306,7 +306,7 @@ @ extern __setlc_active MSVCRT___setlc_active @ cdecl __setusermatherr(ptr) MSVCRT___setusermatherr @ stub __strncnt -@ stub __swprintf_l +@ varargs __swprintf_l(ptr wstr ptr) MSVCRT___swprintf_l @ cdecl __sys_errlist() @ cdecl __sys_nerr() @ cdecl __threadhandle() kernel32.GetCurrentThread diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 5c65b2f3f6f..2de0526f3d0 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -290,7 +290,7 @@ @ extern __setlc_active MSVCRT___setlc_active @ cdecl __setusermatherr(ptr) MSVCRT___setusermatherr @ stub __strncnt -@ stub __swprintf_l +@ varargs __swprintf_l(ptr wstr ptr) MSVCRT___swprintf_l @ cdecl __sys_errlist() @ cdecl __sys_nerr() @ cdecl __threadhandle() kernel32.GetCurrentThread diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c index 98bc686dfb6..913b0a796bb 100644 --- a/dlls/msvcrt/wcs.c +++ b/dlls/msvcrt/wcs.c @@ -1294,6 +1294,20 @@ int CDECL MSVCRT_sprintf_p_l(char *buffer, MSVCRT_size_t length, return r; } +/********************************************************************* + * __swprintf_l (MSVCRT.@) + */ +int CDECL MSVCRT___swprintf_l( MSVCRT_wchar_t *str, const MSVCRT_wchar_t *format, + MSVCRT__locale_t locale, ...) +{ + int retval; + __ms_va_list valist; + __ms_va_start(valist, locale); + retval = MSVCRT_vswprintf_l(str, format, locale, valist); + __ms_va_end(valist); + return retval; +} + /********************************************************************* * _sprintf_p (MSVCR100.@) */