From 69ce7894fbca359b0e8426a60e674cee4d3c1508 Mon Sep 17 00:00:00 2001 From: Bartosz Kosiorek Date: Sun, 6 Nov 2022 00:11:54 +0100 Subject: [PATCH] msvcrt: Add _scwprintf_p implementation. --- 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 ++++++++++++++++ 6 files changed, 21 insertions(+), 5 deletions(-) diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index bcc84c31a8b..10e3b6ca629 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1622,7 +1622,7 @@ @ varargs _scprintf_p_l(str ptr) @ varargs _scwprintf(wstr) @ varargs _scwprintf_l(wstr ptr) -@ stub _scwprintf_p +@ varargs _scwprintf_p(wstr) @ varargs _scwprintf_p_l(wstr ptr) @ cdecl _searchenv(str str ptr) @ cdecl _searchenv_s(str str ptr long) diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index 1f69673502f..fdeb1496ea6 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1633,7 +1633,7 @@ @ varargs _scprintf_p_l(str ptr) @ varargs _scwprintf(wstr) @ varargs _scwprintf_l(wstr ptr) -@ stub _scwprintf_p +@ varargs _scwprintf_p(wstr) @ varargs _scwprintf_p_l(wstr ptr) @ cdecl _searchenv(str str ptr) @ cdecl _searchenv_s(str str ptr long) diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec index eefac9d1089..2580e89c8b4 100644 --- a/dlls/msvcr120_app/msvcr120_app.spec +++ b/dlls/msvcr120_app/msvcr120_app.spec @@ -1359,7 +1359,7 @@ @ varargs _scprintf_p_l(str ptr) msvcr120._scprintf_p_l @ varargs _scwprintf(wstr) msvcr120._scwprintf @ varargs _scwprintf_l(wstr ptr) msvcr120._scwprintf_l -@ stub _scwprintf_p +@ varargs _scwprintf_p(wstr) msvcr120._scwprintf_p @ varargs _scwprintf_p_l(wstr ptr) msvcr120._scwprintf_p_l @ stdcall -arch=i386 _seh_longjmp_unwind4(ptr) msvcr120._seh_longjmp_unwind4 @ stdcall -arch=i386 _seh_longjmp_unwind(ptr) msvcr120._seh_longjmp_unwind diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 1c8e3e6868b..ac247640db7 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -943,7 +943,7 @@ @ varargs _scprintf_p_l(str ptr) @ varargs _scwprintf(wstr) @ varargs _scwprintf_l(wstr ptr) -@ stub _scwprintf_p +@ varargs _scwprintf_p(wstr) @ varargs _scwprintf_p_l(wstr ptr) @ cdecl _searchenv(str str ptr) @ cdecl _searchenv_s(str str ptr long) diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 509193d63a6..053ccc6c212 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -919,7 +919,7 @@ @ varargs _scprintf_p_l(str ptr) @ varargs _scwprintf(wstr) @ varargs _scwprintf_l(wstr ptr) -@ stub _scwprintf_p +@ varargs _scwprintf_p(wstr) @ varargs _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 c10894e6753..60a15dfc29c 100644 --- a/dlls/msvcrt/wcs.c +++ b/dlls/msvcrt/wcs.c @@ -1647,6 +1647,22 @@ int WINAPIV _scwprintf_p_l( const wchar_t *format, _locale_t locale, ... ) return r; } +#if _MSVCR_VER>=80 +/********************************************************************* + * _scwprintf_p (MSVCRT.@) + */ +int WINAPIV _scwprintf_p( const wchar_t *format, ... ) +{ + va_list ap; + int r; + + va_start( ap, format ); + r = vswprintf_p_l_opt( NULL, INT_MAX, format, 0, NULL, ap ); + va_end( ap ); + return r; +} +#endif + /********************************************************************* * _scwprintf (MSVCRT.@) */