Module: wine Branch: master Commit: 7be72ce2a708ec88aa2362352f37db30529251c4 URL: https://gitlab.winehq.org/wine/wine/-/commit/7be72ce2a708ec88aa2362352f37db3...
Author: Bartosz Kosiorek gang65@poczta.onet.pl Date: Fri Oct 28 15:26:36 2022 +0200
msvcrt: Add _swprintf_p_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/wcs.c | 16 ++++++++++++++++ 7 files changed, 22 insertions(+), 6 deletions(-)
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index e00d0c181bd..3fcdcb7121b 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -1378,7 +1378,7 @@ @ varargs _swprintf(ptr wstr) @ varargs _swprintf_c(ptr long str) @ varargs _swprintf_c_l(ptr long str ptr) -@ stub _swprintf_p +@ varargs _swprintf_p(ptr long wstr) @ varargs _swprintf_p_l(ptr long wstr ptr) @ varargs _swprintf_s_l(ptr long wstr ptr) @ varargs _swscanf_l(wstr wstr ptr) diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index d6e860e18ed..04f496b2fe1 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1735,7 +1735,7 @@ @ varargs _swprintf(ptr wstr) @ varargs _swprintf_c(ptr long str) @ varargs _swprintf_c_l(ptr long str ptr) -@ stub _swprintf_p +@ varargs _swprintf_p(ptr long wstr) @ varargs _swprintf_p_l(ptr long wstr ptr) @ varargs _swprintf_s_l(ptr long wstr ptr) @ varargs _swscanf_l(wstr wstr ptr) diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index 1ad88c3d705..17cf2f87da4 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1753,7 +1753,7 @@ @ varargs _swprintf(ptr wstr) @ varargs _swprintf_c(ptr long str) @ varargs _swprintf_c_l(ptr long str ptr) -@ stub _swprintf_p +@ varargs _swprintf_p(ptr long wstr) @ varargs _swprintf_p_l(ptr long wstr ptr) @ varargs _swprintf_s_l(ptr long wstr ptr) @ varargs _swscanf_l(wstr wstr ptr) diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec index 10b5afacc0b..b9e8bc0f7c8 100644 --- a/dlls/msvcr120_app/msvcr120_app.spec +++ b/dlls/msvcr120_app/msvcr120_app.spec @@ -1465,7 +1465,7 @@ @ varargs _swprintf(ptr wstr) msvcr120._swprintf @ varargs _swprintf_c(ptr long str) msvcr120._swprintf_c @ varargs _swprintf_c_l(ptr long str ptr) msvcr120._swprintf_c_l -@ stub _swprintf_p +@ varargs _swprintf_p(ptr long wstr) msvcr120._swprintf_p @ varargs _swprintf_p_l(ptr long wstr ptr) msvcr120._swprintf_p_l @ varargs _swprintf_s_l(ptr long wstr ptr) msvcr120._swprintf_s_l @ varargs _swscanf_l(wstr wstr ptr) msvcr120._swscanf_l diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index fe93549517a..eda6232f3a3 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -1058,7 +1058,7 @@ @ varargs _swprintf(ptr wstr) @ varargs _swprintf_c(ptr long str) @ varargs _swprintf_c_l(ptr long str ptr) -@ stub _swprintf_p +@ varargs _swprintf_p(ptr long wstr) @ varargs _swprintf_p_l(ptr long wstr ptr) @ varargs _swprintf_s_l(ptr long wstr ptr) @ varargs _swscanf_l(wstr wstr ptr) diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index cebea457e8b..037292a3d58 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -1033,7 +1033,7 @@ @ varargs _swprintf(ptr wstr) @ varargs _swprintf_c(ptr long str) @ varargs _swprintf_c_l(ptr long str ptr) -@ stub _swprintf_p +@ varargs _swprintf_p(ptr long wstr) @ varargs _swprintf_p_l(ptr long wstr ptr) @ varargs _swprintf_s_l(ptr long wstr ptr) @ varargs _swscanf_l(wstr wstr ptr) diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c index 2c4479f54e0..afc2498dae2 100644 --- a/dlls/msvcrt/wcs.c +++ b/dlls/msvcrt/wcs.c @@ -1886,6 +1886,22 @@ int WINAPIV _sprintf_p(char *buffer, size_t length, const char *format, ...) } #endif
+/********************************************************************* + * _swprintf_p (MSVCRT.@) + */ +int WINAPIV _swprintf_p(wchar_t *buffer, size_t length, + const wchar_t *format, ...) +{ + va_list valist; + int r; + + va_start(valist, format); + r = vswprintf_p_l_opt(buffer, length, format, 0, NULL, valist); + va_end(valist); + + return r; +} + /********************************************************************* * _swprintf_p_l (MSVCRT.@) */