Module: wine Branch: master Commit: 37ecbf6d97f1bd528019d83c89401d9cd9f6897c URL: https://gitlab.winehq.org/wine/wine/-/commit/37ecbf6d97f1bd528019d83c89401d9...
Author: Bartosz Kosiorek gang65@poczta.onet.pl Date: Mon Oct 30 20:26:47 2023 +0100
msvcrt: Add _cwprintf_l implementation.
---
dlls/msvcr100/msvcr100.spec | 2 +- dlls/msvcr110/msvcr110.spec | 2 +- dlls/msvcr120/msvcr120.spec | 2 +- dlls/msvcr80/msvcr80.spec | 2 +- dlls/msvcr90/msvcr90.spec | 2 +- dlls/msvcrt/console.c | 17 +++++++++++++++++ dlls/msvcrt/msvcrt.spec | 2 +- 7 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index b0a4cffc9d6..f33973f856d 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -757,7 +757,7 @@ @ cdecl _ctime64_s(str long ptr) @ cdecl _cwait(ptr long long) @ varargs _cwprintf(wstr) -@ stub _cwprintf_l +@ varargs _cwprintf_l(wstr ptr) @ stub _cwprintf_p @ stub _cwprintf_p_l @ stub _cwprintf_s diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 660986a92f7..418387e1d29 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1105,7 +1105,7 @@ @ cdecl _ctime64_s(str long ptr) @ cdecl _cwait(ptr long long) @ varargs _cwprintf(wstr) -@ stub _cwprintf_l +@ varargs _cwprintf_l(wstr ptr) @ stub _cwprintf_p @ stub _cwprintf_p_l @ stub _cwprintf_s diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index 16bc8495882..786f4b18caf 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1097,7 +1097,7 @@ @ cdecl _ctime64_s(str long ptr) @ cdecl _cwait(ptr long long) @ varargs _cwprintf(wstr) -@ stub _cwprintf_l +@ varargs _cwprintf_l(wstr ptr) @ stub _cwprintf_p @ stub _cwprintf_p_l @ stub _cwprintf_s diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 9035a39c1e7..cbd720580ac 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -421,7 +421,7 @@ @ cdecl _ctime64_s(str long ptr) @ cdecl _cwait(ptr long long) @ varargs _cwprintf(wstr) -@ stub _cwprintf_l +@ varargs _cwprintf_l(wstr ptr) @ stub _cwprintf_p @ stub _cwprintf_p_l @ stub _cwprintf_s diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index fdf5e56b5f0..6bdbe9ee0e9 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -404,7 +404,7 @@ @ cdecl _ctime64_s(str long ptr) @ cdecl _cwait(ptr long long) @ varargs _cwprintf(wstr) -@ stub _cwprintf_l +@ varargs _cwprintf_l(wstr ptr) @ stub _cwprintf_p @ stub _cwprintf_p_l @ stub _cwprintf_s diff --git a/dlls/msvcrt/console.c b/dlls/msvcrt/console.c index 99cf35872aa..6fedb8f434f 100644 --- a/dlls/msvcrt/console.c +++ b/dlls/msvcrt/console.c @@ -572,6 +572,7 @@ int WINAPIV _cprintf(const char* format, ...) return retval; }
+#if _MSVCR_VER<=120 /********************************************************************* * _vcwprintf_l (MSVCRT.@) */ @@ -588,6 +589,21 @@ int CDECL _vcwprintf(const wchar_t* format, va_list valist) return pf_printf_w(puts_clbk_console_w, NULL, format, NULL, 0, arg_clbk_valist, NULL, &valist); }
+/********************************************************************* + * _cwprintf_l (MSVCRT.@) + */ +int WINAPIV _cwprintf_l(const wchar_t* format, _locale_t locale, ...) +{ + int retval; + va_list valist; + + va_start(valist, locale); + retval = _vcwprintf_l(format, locale, valist); + va_end(valist); + + return retval; +} + /********************************************************************* * _cwprintf (MSVCRT.@) */ @@ -602,6 +618,7 @@ int WINAPIV _cwprintf(const wchar_t* format, ...)
return retval; } +#endif
#if _MSVCR_VER>=140
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index 6891c5e84ed..a77ed171fb1 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -393,7 +393,7 @@ @ extern _ctype MSVCRT__ctype @ cdecl _cwait(ptr long long) @ varargs _cwprintf(wstr) -# stub _cwprintf_l(wstr ptr) +@ varargs _cwprintf_l(wstr ptr) # stub _cwprintf_p(wstr) # stub _cwprintf_p_l(wstr ptr) # stub _cwprintf_s(wstr)