Commit 6a77a36b authored by Eric Pouech's avatar Eric Pouech Committed by Alexandre Julliard

msvcrt: Implemented vswprintf_s.

parent 1c9886d6
...@@ -760,6 +760,7 @@ ...@@ -760,6 +760,7 @@
@ cdecl vprintf(str ptr) MSVCRT_vprintf @ cdecl vprintf(str ptr) MSVCRT_vprintf
@ cdecl vsprintf(ptr str ptr) MSVCRT_vsprintf @ cdecl vsprintf(ptr str ptr) MSVCRT_vsprintf
@ cdecl vswprintf(ptr wstr ptr) MSVCRT_vswprintf @ cdecl vswprintf(ptr wstr ptr) MSVCRT_vswprintf
@ cdecl vswprintf_s(ptr long wstr ptr) MSVCRT_vswprintf_s
@ cdecl vwprintf(wstr ptr) MSVCRT_vwprintf @ cdecl vwprintf(wstr ptr) MSVCRT_vwprintf
@ cdecl wcscat(wstr wstr) ntdll.wcscat @ cdecl wcscat(wstr wstr) ntdll.wcscat
@ cdecl wcscat_s(wstr long wstr) MSVCRT_wcscat_s @ cdecl wcscat_s(wstr long wstr) MSVCRT_wcscat_s
......
...@@ -657,6 +657,11 @@ static int pf_vsnprintf( pf_output *out, const WCHAR *format, va_list valist ) ...@@ -657,6 +657,11 @@ static int pf_vsnprintf( pf_output *out, const WCHAR *format, va_list valist )
flags.Format = *p; flags.Format = *p;
r = 0; r = 0;
if (flags.Format == '$')
{
FIXME("Positional parameters are not supported (%s)\n", wine_dbgstr_w(format));
return -1;
}
/* output a string */ /* output a string */
if( flags.Format == 's' || flags.Format == 'S' ) if( flags.Format == 's' || flags.Format == 'S' )
r = pf_handle_string_format( out, va_arg(valist, const void*), -1, r = pf_handle_string_format( out, va_arg(valist, const void*), -1,
...@@ -876,6 +881,15 @@ int CDECL MSVCRT_vswprintf( MSVCRT_wchar_t* str, const MSVCRT_wchar_t* format, v ...@@ -876,6 +881,15 @@ int CDECL MSVCRT_vswprintf( MSVCRT_wchar_t* str, const MSVCRT_wchar_t* format, v
} }
/********************************************************************* /*********************************************************************
* vswprintf_s (MSVCRT.@)
*/
int CDECL MSVCRT_vswprintf_s( MSVCRT_wchar_t* str, MSVCRT_size_t num, const MSVCRT_wchar_t* format, va_list args )
{
/* FIXME: must handle positional arguments */
return MSVCRT_vsnwprintf( str, num, format, args );
}
/*********************************************************************
* wcscoll (MSVCRT.@) * wcscoll (MSVCRT.@)
*/ */
int CDECL MSVCRT_wcscoll( const MSVCRT_wchar_t* str1, const MSVCRT_wchar_t* str2 ) int CDECL MSVCRT_wcscoll( const MSVCRT_wchar_t* str1, const MSVCRT_wchar_t* str2 )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment