diff --git a/include/msvcrt/corecrt_wstdio.h b/include/msvcrt/corecrt_wstdio.h index a04e571f020..05f1d7f63f1 100644 --- a/include/msvcrt/corecrt_wstdio.h +++ b/include/msvcrt/corecrt_wstdio.h @@ -71,7 +71,6 @@ wint_t __cdecl fgetwc(FILE*); wchar_t* __cdecl fgetws(wchar_t*,int,FILE*); wint_t __cdecl fputwc(wint_t,FILE*); int __cdecl fputws(const wchar_t*,FILE*); -int WINAPIV fwprintf(FILE*,const wchar_t*,...); int WINAPIV fwprintf_s(FILE*,const wchar_t*,...); int __cdecl fputws(const wchar_t*,FILE*); int WINAPIV fwscanf(FILE*,const wchar_t*,...); @@ -86,7 +85,6 @@ int WINAPIV swprintf_s(wchar_t*,size_t,const wchar_t*,...); int WINAPIV swscanf(const wchar_t*,const wchar_t*,...); int WINAPIV swscanf_s(const wchar_t*,const wchar_t*,...); wint_t __cdecl ungetwc(wint_t,FILE*); -int __cdecl vfwprintf(FILE*,const wchar_t*,__ms_va_list); int __cdecl vfwprintf_s(FILE*,const wchar_t*,__ms_va_list); int __cdecl vswprintf_s(wchar_t*,size_t,const wchar_t*,__ms_va_list); int __cdecl vwprintf(const wchar_t*,__ms_va_list); @@ -98,6 +96,7 @@ int WINAPIV wscanf_s(const wchar_t*,...); #ifdef _UCRT +_ACRTIMP int __cdecl __stdio_common_vfwprintf(unsigned __int64,FILE*,const wchar_t*,_locale_t,__ms_va_list); _ACRTIMP int __cdecl __stdio_common_vsnwprintf_s(unsigned __int64,wchar_t*,size_t,size_t,const wchar_t*,_locale_t,__ms_va_list); _ACRTIMP int __cdecl __stdio_common_vswprintf(unsigned __int64,wchar_t*,size_t,const wchar_t*,_locale_t,__ms_va_list); _ACRTIMP int __cdecl __stdio_common_vswprintf_p(unsigned __int64,wchar_t*,size_t,const wchar_t*,_locale_t,__ms_va_list); @@ -202,6 +201,22 @@ static inline int WINAPIV _scwprintf(const wchar_t *format, ...) return ret; } +static inline int __cdecl vfwprintf(FILE *file, const wchar_t *format, __ms_va_list args) +{ + return __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, file, format, NULL, args); +} + +static inline int WINAPIV fwprintf(FILE *file, const wchar_t *format, ...) +{ + int ret; + __ms_va_list args; + + __ms_va_start(args, format); + ret = __stdio_common_vfwprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, file, format, NULL, args); + __ms_va_end(args); + return ret; +} + #else /* _UCRT */ _ACRTIMP int WINAPIV _scwprintf(const wchar_t*,...); @@ -212,6 +227,8 @@ _ACRTIMP int __cdecl _vscwprintf_p_l(const wchar_t*,_locale_t,__ms_va_list); _ACRTIMP int __cdecl _vsnwprintf(wchar_t*,size_t,const wchar_t*,__ms_va_list); _ACRTIMP int __cdecl _vsnwprintf_s(wchar_t*,size_t,size_t,const wchar_t*,__ms_va_list); _ACRTIMP int __cdecl _vswprintf_p_l(wchar_t*,size_t,const wchar_t*,_locale_t,__ms_va_list); +_ACRTIMP int WINAPIV fwprintf(FILE*,const wchar_t*,...); +_ACRTIMP int __cdecl vfwprintf(FILE*,const wchar_t*,__ms_va_list); #ifdef _CRT_NON_CONFORMING_SWPRINTFS int WINAPIV swprintf(wchar_t*,const wchar_t*,...);