@@ -280,9 +280,88 @@ _CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index);
280280 _CRTIMP wint_t __cdecl _putwch (wchar_t _WCh );
281281 _CRTIMP wint_t __cdecl _ungetwch (wint_t _WCh );
282282 _CRTIMP int __cdecl _cputws (const wchar_t * _String );
283+ #ifdef _UCRT
284+ int __cdecl __conio_common_vcwprintf (unsigned __int64 _Options , const wchar_t * _Format , _locale_t _Locale , va_list _ArgList );
285+ int __cdecl __conio_common_vcwprintf_p (unsigned __int64 _Options , const wchar_t * _Format , _locale_t _Locale , va_list _ArgList );
286+ int __cdecl __conio_common_vcwprintf_s (unsigned __int64 _Options , const wchar_t * _Format , _locale_t _Locale , va_list _ArgList );
287+ int __cdecl __conio_common_vcwscanf (unsigned __int64 _Options , const wchar_t * _Format , _locale_t _Locale , va_list _ArgList );
288+
289+ __mingw_ovr int __cdecl _vcwprintf (const wchar_t * __restrict__ _Format ,va_list _ArgList )
290+ {
291+ return __conio_common_vcwprintf (_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS , _Format , NULL , _ArgList );
292+ }
293+ __mingw_ovr int __cdecl _cwprintf (const wchar_t * __restrict__ _Format ,...)
294+ {
295+ __builtin_va_list _ArgList ;
296+ int _Ret ;
297+ __builtin_va_start (_ArgList , _Format );
298+ _Ret = _vcwprintf (_Format , _ArgList );
299+ __builtin_va_end (_ArgList );
300+ return _Ret ;
301+ }
302+ __mingw_ovr __MINGW_ATTRIB_DEPRECATED_SEC_WARN
303+ int __cdecl _cwscanf (const wchar_t * __restrict__ _Format ,...)
304+ {
305+ __builtin_va_list _ArgList ;
306+ int _Ret ;
307+ __builtin_va_start (_ArgList , _Format );
308+ _Ret = __conio_common_vcwscanf (_CRT_INTERNAL_LOCAL_SCANF_OPTIONS , _Format , NULL , _ArgList );
309+ __builtin_va_end (_ArgList );
310+ return _Ret ;
311+ }
312+ __mingw_ovr __MINGW_ATTRIB_DEPRECATED_SEC_WARN
313+ int __cdecl _cwscanf_l (const wchar_t * __restrict__ _Format ,_locale_t _Locale ,...)
314+ {
315+ __builtin_va_list _ArgList ;
316+ int _Ret ;
317+ __builtin_va_start (_ArgList , _Locale );
318+ _Ret = __conio_common_vcwscanf (_CRT_INTERNAL_LOCAL_SCANF_OPTIONS , _Format , _Locale , _ArgList );
319+ __builtin_va_end (_ArgList );
320+ return _Ret ;
321+ }
322+ __mingw_ovr int __cdecl _vcwprintf_p (const wchar_t * __restrict__ _Format ,va_list _ArgList )
323+ {
324+ return __conio_common_vcwprintf_p (_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS , _Format , NULL , _ArgList );
325+ }
326+ __mingw_ovr int __cdecl _cwprintf_p (const wchar_t * __restrict__ _Format ,...)
327+ {
328+ __builtin_va_list _ArgList ;
329+ int _Ret ;
330+ __builtin_va_start (_ArgList , _Format );
331+ _Ret = _vcwprintf_p (_Format , _ArgList );
332+ __builtin_va_end (_ArgList );
333+ return _Ret ;
334+ }
335+ __mingw_ovr int __cdecl _vcwprintf_l (const wchar_t * __restrict__ _Format ,_locale_t _Locale ,va_list _ArgList )
336+ {
337+ return __conio_common_vcwprintf (_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS , _Format , _Locale , _ArgList );
338+ }
339+ __mingw_ovr int __cdecl _cwprintf_l (const wchar_t * __restrict__ _Format ,_locale_t _Locale ,...)
340+ {
341+ __builtin_va_list _ArgList ;
342+ int _Ret ;
343+ __builtin_va_start (_ArgList , _Locale );
344+ _Ret = _vcwprintf_l (_Format , _Locale , _ArgList );
345+ __builtin_va_end (_ArgList );
346+ return _Ret ;
347+ }
348+ __mingw_ovr int __cdecl _vcwprintf_p_l (const wchar_t * __restrict__ _Format ,_locale_t _Locale ,va_list _ArgList )
349+ {
350+ return __conio_common_vcwprintf_p (_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS , _Format , _Locale , _ArgList );
351+ }
352+ __mingw_ovr int __cdecl _cwprintf_p_l (const wchar_t * __restrict__ _Format ,_locale_t _Locale ,...)
353+ {
354+ __builtin_va_list _ArgList ;
355+ int _Ret ;
356+ __builtin_va_start (_ArgList , _Locale );
357+ _Ret = _vcwprintf_p_l (_Format , _Locale , _ArgList );
358+ __builtin_va_end (_ArgList );
359+ return _Ret ;
360+ }
361+ #else
283362 _CRTIMP int __cdecl _cwprintf (const wchar_t * __restrict__ _Format ,...);
284- _CRTIMP int __cdecl _cwscanf (const wchar_t * __restrict__ _Format ,...);
285- _CRTIMP int __cdecl _cwscanf_l (const wchar_t * __restrict__ _Format ,_locale_t _Locale ,...);
363+ _CRTIMP int __cdecl _cwscanf (const wchar_t * __restrict__ _Format ,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN ;
364+ _CRTIMP int __cdecl _cwscanf_l (const wchar_t * __restrict__ _Format ,_locale_t _Locale ,...) __MINGW_ATTRIB_DEPRECATED_SEC_WARN ;
286365 _CRTIMP int __cdecl _vcwprintf (const wchar_t * __restrict__ _Format ,va_list _ArgList );
287366 _CRTIMP int __cdecl _cwprintf_p (const wchar_t * __restrict__ _Format ,...);
288367 _CRTIMP int __cdecl _vcwprintf_p (const wchar_t * __restrict__ _Format ,va_list _ArgList );
@@ -291,6 +370,7 @@ _CRTIMP FILE *__cdecl __acrt_iob_func(unsigned index);
291370 _CRTIMP int __cdecl _vcwprintf_l (const wchar_t * __restrict__ _Format ,_locale_t _Locale ,va_list _ArgList );
292371 _CRTIMP int __cdecl _cwprintf_p_l (const wchar_t * __restrict__ _Format ,_locale_t _Locale ,...);
293372 _CRTIMP int __cdecl _vcwprintf_p_l (const wchar_t * __restrict__ _Format ,_locale_t _Locale ,va_list _ArgList );
373+ #endif
294374#if __MSVCRT_VERSION__ >= 0x800
295375 wint_t __cdecl _putwch_nolock (wchar_t _WCh );
296376 wint_t __cdecl _getwch_nolock (void );
0 commit comments