corecrt_wstdio.h: Add ucrt _snwprintf, swprintf and _swprintf declarations.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
feature/deterministic
Jacek Caban 2020-02-24 15:33:26 +01:00 committed by Alexandre Julliard
parent 83e95a609c
commit eec622931f
1 changed files with 62 additions and 2 deletions

View File

@ -55,13 +55,11 @@ wint_t __cdecl _getwc_nolock(FILE*);
wchar_t* __cdecl _getws(wchar_t*);
wint_t __cdecl _putwc_nolock(wint_t,FILE*);
int __cdecl _putws(const wchar_t*);
int WINAPIV _snwprintf(wchar_t*,size_t,const wchar_t*,...);
int WINAPIV _snwprintf_s(wchar_t*,size_t,size_t,const wchar_t*,...);
int WINAPIV _scwprintf(const wchar_t*,...);
wint_t __cdecl _ungetwc_nolock(wint_t,FILE*);
int __cdecl _vscwprintf(const wchar_t*,__ms_va_list);
int __cdecl _vscwprintf_p_l(const wchar_t*,_locale_t,__ms_va_list);
int __cdecl _vsnwprintf(wchar_t*,size_t,const wchar_t*,__ms_va_list);
int __cdecl _vsnwprintf_s(wchar_t*,size_t,size_t,const wchar_t*,__ms_va_list);
int __cdecl _vswprintf_p_l(wchar_t*,size_t,const wchar_t*,_locale_t,__ms_va_list);
FILE* __cdecl _wfdopen(int,const wchar_t*);
@ -104,6 +102,66 @@ int WINAPIV wprintf_s(const wchar_t*,...);
int WINAPIV wscanf(const wchar_t*,...);
int WINAPIV wscanf_s(const wchar_t*,...);
#ifdef _UCRT
_ACRTIMP int __cdecl __stdio_common_vswprintf(unsigned __int64,wchar_t*,size_t,const wchar_t*,_locale_t,__ms_va_list);
static inline int __cdecl _vsnwprintf(wchar_t *buffer, size_t size, const wchar_t *format, __ms_va_list args)
{
int ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, size, format, NULL, args);
return ret < 0 ? -1 : ret;
}
static inline int WINAPIV _snwprintf(wchar_t *buffer, size_t size, const wchar_t* format, ...)
{
int ret;
__ms_va_list args;
__ms_va_start(args, format);
ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, size, format, NULL, args);
__ms_va_end(args);
return ret;
}
static inline int WINAPIV vswprintf(wchar_t *buffer, size_t size, const wchar_t *format, __ms_va_list args)
{
int ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, size, format, NULL, args);
return ret < 0 ? -1 : ret;
}
static inline int WINAPIV swprintf(wchar_t *buffer, size_t size, const wchar_t *format, ...)
{
int ret;
__ms_va_list args;
__ms_va_start(args, format);
ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, size, format, NULL, args);
__ms_va_end(args);
return ret;
}
static inline int WINAPIV _vswprintf(wchar_t *buffer, const wchar_t *format, __ms_va_list args)
{
int ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, -1, format, NULL, args);
return ret < 0 ? -1 : ret;
}
static inline int WINAPIV _swprintf(wchar_t *buffer, const wchar_t *format, ...)
{
int ret;
__ms_va_list args;
__ms_va_start(args, format);
ret = __stdio_common_vswprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, buffer, -1, format, NULL, args);
__ms_va_end(args);
return ret < 0 ? -1 : ret;
}
#else /* _UCRT */
_ACRTIMP int WINAPIV _snwprintf(wchar_t*,size_t,const wchar_t*,...);
_ACRTIMP int __cdecl _vsnwprintf(wchar_t*,size_t,const wchar_t*,__ms_va_list);
#ifdef _CRT_NON_CONFORMING_SWPRINTFS
int WINAPIV swprintf(wchar_t*,const wchar_t*,...);
int __cdecl vswprintf(wchar_t*,const wchar_t*,__ms_va_list);
@ -121,6 +179,8 @@ static inline int WINAPIV swprintf(wchar_t *buffer, size_t size, const wchar_t *
}
#endif /* _CRT_NON_CONFORMING_SWPRINTFS */
#endif /* _UCRT */
#ifdef __cplusplus
}
#endif