Module: wine Branch: master Commit: 1faad02cf1eb712fa2d57fc47298880da7ceba86 URL: https://gitlab.winehq.org/wine/wine/-/commit/1faad02cf1eb712fa2d57fc47298880...
Author: Bartosz Kosiorek gang65@poczta.onet.pl Date: Sat Nov 5 23:39:47 2022 +0100
msvcrt: Add _scwprintf_l implementation.
---
dlls/msvcr100/msvcr100.spec | 2 +- dlls/msvcr110/msvcr110.spec | 2 +- dlls/msvcr120/msvcr120.spec | 2 +- dlls/msvcr120_app/msvcr120_app.spec | 2 +- dlls/msvcr80/msvcr80.spec | 2 +- dlls/msvcr90/msvcr90.spec | 2 +- dlls/msvcrt/msvcrt.spec | 2 +- dlls/msvcrt/wcs.c | 14 ++++++++++++++ 8 files changed, 21 insertions(+), 7 deletions(-)
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 3fcdcb7121b..ebb79623048 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -1264,7 +1264,7 @@ @ varargs _scprintf_p(str) @ varargs _scprintf_p_l(str ptr) @ varargs _scwprintf(wstr) -@ stub _scwprintf_l +@ varargs _scwprintf_l(wstr ptr) @ stub _scwprintf_p @ stub _scwprintf_p_l @ cdecl _searchenv(str str ptr) diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 04f496b2fe1..64d680923c3 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1621,7 +1621,7 @@ @ varargs _scprintf_p(str) @ varargs _scprintf_p_l(str ptr) @ varargs _scwprintf(wstr) -@ stub _scwprintf_l +@ varargs _scwprintf_l(wstr ptr) @ stub _scwprintf_p @ stub _scwprintf_p_l @ cdecl _searchenv(str str ptr) diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index 17cf2f87da4..ba16e61f397 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1632,7 +1632,7 @@ @ varargs _scprintf_p(str) @ varargs _scprintf_p_l(str ptr) @ varargs _scwprintf(wstr) -@ stub _scwprintf_l +@ varargs _scwprintf_l(wstr ptr) @ stub _scwprintf_p @ stub _scwprintf_p_l @ cdecl _searchenv(str str ptr) diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec index b9e8bc0f7c8..468146ed056 100644 --- a/dlls/msvcr120_app/msvcr120_app.spec +++ b/dlls/msvcr120_app/msvcr120_app.spec @@ -1358,7 +1358,7 @@ @ varargs _scprintf_p(str) msvcr120._scprintf_p @ varargs _scprintf_p_l(str ptr) msvcr120._scprintf_p_l @ varargs _scwprintf(wstr) msvcr120._scwprintf -@ stub _scwprintf_l +@ varargs _scwprintf_l(wstr ptr) msvcr120._scwprintf_l @ stub _scwprintf_p @ stub _scwprintf_p_l @ stdcall -arch=i386 _seh_longjmp_unwind4(ptr) msvcr120._seh_longjmp_unwind4 diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index eda6232f3a3..49ea60e3dae 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -942,7 +942,7 @@ @ varargs _scprintf_p(str) @ varargs _scprintf_p_l(str ptr) @ varargs _scwprintf(wstr) -@ stub _scwprintf_l +@ varargs _scwprintf_l(wstr ptr) @ stub _scwprintf_p @ stub _scwprintf_p_l @ cdecl _searchenv(str str ptr) diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 037292a3d58..d2cff259208 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -918,7 +918,7 @@ @ varargs _scprintf_p(str) @ varargs _scprintf_p_l(str ptr) @ varargs _scwprintf(wstr) -@ stub _scwprintf_l +@ varargs _scwprintf_l(wstr ptr) @ stub _scwprintf_p @ stub _scwprintf_p_l @ cdecl _searchenv(str str ptr) diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index f015fa4b22c..7a060f82769 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -888,7 +888,7 @@ @ varargs _scprintf_l(str ptr) @ varargs _scprintf_p_l(str ptr) @ varargs _scwprintf(wstr) -# stub _scwprintf_l(wstr ptr) +@ varargs _scwprintf_l(wstr ptr) # stub _scwprintf_p_l(wstr ptr) @ cdecl _searchenv(str str ptr) @ cdecl _searchenv_s(str str ptr long) diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c index c5696071846..4ef779cba58 100644 --- a/dlls/msvcrt/wcs.c +++ b/dlls/msvcrt/wcs.c @@ -1619,6 +1619,20 @@ int WINAPIV sprintf_s( char *str, size_t num, const char *format, ... ) return r; }
+/********************************************************************* + * _scwprintf_l (MSVCRT.@) + */ +int WINAPIV _scwprintf_l( const wchar_t *format, _locale_t locale, ... ) +{ + va_list ap; + int r; + + va_start( ap, locale ); + r = _vsnwprintf_l( NULL, INT_MAX, format, locale, ap ); + va_end( ap ); + return r; +} + /********************************************************************* * _scwprintf (MSVCRT.@) */