From: Bartosz Kosiorek gang65@poczta.onet.pl
--- 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.@) */
From: Bartosz Kosiorek gang65@poczta.onet.pl
--- 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 ebb79623048..599d709cd18 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -1266,7 +1266,7 @@ @ varargs _scwprintf(wstr) @ varargs _scwprintf_l(wstr ptr) @ stub _scwprintf_p -@ stub _scwprintf_p_l +@ varargs _scwprintf_p_l(wstr ptr) @ cdecl _searchenv(str str ptr) @ cdecl _searchenv_s(str str ptr long) @ stdcall -arch=i386 _seh_longjmp_unwind4(ptr) diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 64d680923c3..bcc84c31a8b 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1623,7 +1623,7 @@ @ varargs _scwprintf(wstr) @ varargs _scwprintf_l(wstr ptr) @ stub _scwprintf_p -@ stub _scwprintf_p_l +@ varargs _scwprintf_p_l(wstr ptr) @ cdecl _searchenv(str str ptr) @ cdecl _searchenv_s(str str ptr long) @ stdcall -arch=i386 _seh_longjmp_unwind4(ptr) diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index ba16e61f397..1f69673502f 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1634,7 +1634,7 @@ @ varargs _scwprintf(wstr) @ varargs _scwprintf_l(wstr ptr) @ stub _scwprintf_p -@ stub _scwprintf_p_l +@ varargs _scwprintf_p_l(wstr ptr) @ cdecl _searchenv(str str ptr) @ cdecl _searchenv_s(str str ptr long) @ stdcall -arch=i386 _seh_longjmp_unwind4(ptr) diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec index 468146ed056..eefac9d1089 100644 --- a/dlls/msvcr120_app/msvcr120_app.spec +++ b/dlls/msvcr120_app/msvcr120_app.spec @@ -1360,7 +1360,7 @@ @ varargs _scwprintf(wstr) msvcr120._scwprintf @ varargs _scwprintf_l(wstr ptr) msvcr120._scwprintf_l @ stub _scwprintf_p -@ stub _scwprintf_p_l +@ 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 @ cdecl -arch=i386 _set_SSE2_enable(long) msvcr120._set_SSE2_enable diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 49ea60e3dae..1c8e3e6868b 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -944,7 +944,7 @@ @ varargs _scwprintf(wstr) @ varargs _scwprintf_l(wstr ptr) @ stub _scwprintf_p -@ stub _scwprintf_p_l +@ varargs _scwprintf_p_l(wstr ptr) @ cdecl _searchenv(str str ptr) @ cdecl _searchenv_s(str str ptr long) @ stdcall -arch=i386 _seh_longjmp_unwind4(ptr) diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index d2cff259208..509193d63a6 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -920,7 +920,7 @@ @ varargs _scwprintf(wstr) @ varargs _scwprintf_l(wstr ptr) @ stub _scwprintf_p -@ stub _scwprintf_p_l +@ varargs _scwprintf_p_l(wstr ptr) @ cdecl _searchenv(str str ptr) @ cdecl _searchenv_s(str str ptr long) @ stdcall -arch=i386 _seh_longjmp_unwind4(ptr) diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index 7a060f82769..8a4a3c85cc7 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -889,7 +889,7 @@ @ varargs _scprintf_p_l(str ptr) @ varargs _scwprintf(wstr) @ varargs _scwprintf_l(wstr ptr) -# stub _scwprintf_p_l(wstr ptr) +@ varargs _scwprintf_p_l(wstr ptr) @ cdecl _searchenv(str str ptr) @ cdecl _searchenv_s(str str ptr long) @ stdcall -arch=i386 _seh_longjmp_unwind4(ptr) diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c index 4ef779cba58..c10894e6753 100644 --- a/dlls/msvcrt/wcs.c +++ b/dlls/msvcrt/wcs.c @@ -1633,6 +1633,20 @@ int WINAPIV _scwprintf_l( const wchar_t *format, _locale_t locale, ... ) return r; }
+/********************************************************************* + * _scwprintf_p_l (MSVCRT.@) + */ +int WINAPIV _scwprintf_p_l( const wchar_t *format, _locale_t locale, ... ) +{ + va_list ap; + int r; + + va_start( ap, locale ); + r = vswprintf_p_l_opt( NULL, INT_MAX, format, 0, locale, ap ); + va_end( ap ); + return r; +} + /********************************************************************* * _scwprintf (MSVCRT.@) */
From: Bartosz Kosiorek gang65@poczta.onet.pl
--- 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.@) */
From: Bartosz Kosiorek gang65@poczta.onet.pl
--- dlls/msvcr100/msvcr100.spec | 4 ++-- dlls/msvcr110/msvcr110.spec | 2 +- dlls/msvcr120/msvcr120.spec | 2 +- dlls/msvcr80/msvcr80.spec | 2 +- dlls/msvcr90/msvcr90.spec | 2 +- dlls/msvcrt/console.c | 10 ++++++++++ dlls/msvcrt/msvcrt.spec | 2 +- 7 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 599d709cd18..dc028bd932b 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -1265,7 +1265,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) @@ -1422,7 +1422,7 @@ @ cdecl _utime32(str ptr) @ cdecl _utime64(str ptr) @ cdecl _vcprintf(str ptr) -@ stub _vcprintf_l +@ cdecl _vcprintf_l(str ptr ptr) @ stub _vcprintf_p @ stub _vcprintf_p_l @ stub _vcprintf_s diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 10e3b6ca629..1e46cf9983e 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1779,7 +1779,7 @@ @ cdecl _utime32(str ptr) @ cdecl _utime64(str ptr) @ cdecl _vcprintf(str ptr) -@ stub _vcprintf_l +@ cdecl _vcprintf_l(str ptr ptr) @ stub _vcprintf_p @ stub _vcprintf_p_l @ stub _vcprintf_s diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index fdeb1496ea6..59b99a04a31 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1798,7 +1798,7 @@ @ cdecl _utime64(str ptr) @ cdecl _vacopy(ptr ptr) @ cdecl _vcprintf(str ptr) -@ stub _vcprintf_l +@ cdecl _vcprintf_l(str ptr ptr) @ stub _vcprintf_p @ stub _vcprintf_p_l @ stub _vcprintf_s diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index ac247640db7..5dbb83893e2 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -1102,7 +1102,7 @@ @ cdecl _utime32(str ptr) @ cdecl _utime64(str ptr) @ cdecl _vcprintf(str ptr) -@ stub _vcprintf_l +@ cdecl _vcprintf_l(str ptr ptr) @ stub _vcprintf_p @ stub _vcprintf_p_l @ stub _vcprintf_s diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 053ccc6c212..e67ea400657 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -1077,7 +1077,7 @@ @ cdecl _utime32(str ptr) @ cdecl _utime64(str ptr) @ cdecl _vcprintf(str ptr) -@ stub _vcprintf_l +@ cdecl _vcprintf_l(str ptr ptr) @ stub _vcprintf_p @ stub _vcprintf_p_l @ stub _vcprintf_s diff --git a/dlls/msvcrt/console.c b/dlls/msvcrt/console.c index 2b47287c5c7..70df825866f 100644 --- a/dlls/msvcrt/console.c +++ b/dlls/msvcrt/console.c @@ -522,6 +522,16 @@ static int puts_clbk_console_w(void *ctx, int len, const wchar_t *str) return len; }
+#if _MSVCR_VER<=120 +/********************************************************************* + * _vcprintf_l (MSVCRT.@) + */ +int CDECL _vcprintf_l(const char* format, _locale_t locale, va_list valist) +{ + return pf_printf_a(puts_clbk_console_a, NULL, format, locale, 0, arg_clbk_valist, NULL, &valist); +} +#endif + /********************************************************************* * _vcprintf (MSVCRT.@) */ diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index 8a4a3c85cc7..a82adcb2951 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -1036,7 +1036,7 @@ @ cdecl _utime32(str ptr) @ cdecl _utime64(str ptr) @ cdecl _vcprintf(str ptr) -# stub _vcprintf_l(str ptr ptr) +@ cdecl _vcprintf_l(str ptr ptr) # stub _vcprintf_p(str ptr) # stub _vcprintf_p_l(str ptr ptr) # stub _vcprintf_s(str ptr)
From: Bartosz Kosiorek gang65@poczta.onet.pl
--- 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 | 7 +++++++ dlls/msvcrt/msvcrt.spec | 2 +- 7 files changed, 13 insertions(+), 6 deletions(-)
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index dc028bd932b..1d80726ee3a 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -1428,7 +1428,7 @@ @ stub _vcprintf_s @ stub _vcprintf_s_l @ cdecl _vcwprintf(wstr ptr) -@ stub _vcwprintf_l +@ cdecl _vcwprintf_l(wstr ptr ptr) @ stub _vcwprintf_p @ stub _vcwprintf_p_l @ stub _vcwprintf_s diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 1e46cf9983e..7f255a9414b 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1785,7 +1785,7 @@ @ stub _vcprintf_s @ stub _vcprintf_s_l @ cdecl _vcwprintf(wstr ptr) -@ stub _vcwprintf_l +@ cdecl _vcwprintf_l(wstr ptr ptr) @ stub _vcwprintf_p @ stub _vcwprintf_p_l @ stub _vcwprintf_s diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index 59b99a04a31..3c606ebf391 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1804,7 +1804,7 @@ @ stub _vcprintf_s @ stub _vcprintf_s_l @ cdecl _vcwprintf(wstr ptr) -@ stub _vcwprintf_l +@ cdecl _vcwprintf_l(wstr ptr ptr) @ stub _vcwprintf_p @ stub _vcwprintf_p_l @ stub _vcwprintf_s diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 5dbb83893e2..cf885153e7a 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -1108,7 +1108,7 @@ @ stub _vcprintf_s @ stub _vcprintf_s_l @ cdecl _vcwprintf(wstr ptr) -@ stub _vcwprintf_l +@ cdecl _vcwprintf_l(wstr ptr ptr) @ stub _vcwprintf_p @ stub _vcwprintf_p_l @ stub _vcwprintf_s diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index e67ea400657..87b31d1a048 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -1083,7 +1083,7 @@ @ stub _vcprintf_s @ stub _vcprintf_s_l @ cdecl _vcwprintf(wstr ptr) -@ stub _vcwprintf_l +@ cdecl _vcwprintf_l(wstr ptr ptr) @ stub _vcwprintf_p @ stub _vcwprintf_p_l @ stub _vcwprintf_s diff --git a/dlls/msvcrt/console.c b/dlls/msvcrt/console.c index 70df825866f..2c92f0b3811 100644 --- a/dlls/msvcrt/console.c +++ b/dlls/msvcrt/console.c @@ -555,6 +555,13 @@ int WINAPIV _cprintf(const char* format, ...) return retval; }
+/********************************************************************* + * _vcwprintf_l (MSVCRT.@) + */ +int CDECL _vcwprintf_l(const wchar_t* format, _locale_t locale, va_list valist) +{ + return pf_printf_w(puts_clbk_console_w, NULL, format, locale, 0, arg_clbk_valist, NULL, &valist); +}
/********************************************************************* * _vcwprintf (MSVCRT.@) diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index a82adcb2951..6dcb0767c31 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -1042,7 +1042,7 @@ # stub _vcprintf_s(str ptr) # stub _vcprintf_s_l(str ptr ptr) @ cdecl _vcwprintf(wstr ptr) -# stub _vcwprintf_l(wstr ptr ptr) +@ cdecl _vcwprintf_l(wstr ptr ptr) # stub _vcwprintf_p(wstr ptr) # stub _vcwprintf_p_l(wstr ptr ptr) # stub _vcwprintf_s(wstr ptr)
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=126160
Your paranoid android.
=== debian11 (32 bit report) ===
crypt32: cert.c:4191: Test failed: success cert.c:4192: Test failed: got 00000000 cert.c:4193: Test failed: got 00000000
wmvcore: wmvcore.c:1617: Test failed: Stream 0: Format 4: Got hr 0x8007000e. Unhandled exception: page fault on read access to 0x00000000 in 32-bit code (0x00410d09).
Bartosz Kosiorek (@gang65) commented about dlls/msvcrt/console.c:
return len;
}
+#if _MSVCR_VER<=120
Is `#if _MSVCR_VER<=120` necessary?