Module: wine Branch: master Commit: 6a77a36b242500966a6fdea1c087aafc01c492e1 URL: http://source.winehq.org/git/wine.git/?a=commit;h=6a77a36b242500966a6fdea1c0...
Author: Eric Pouech eric.pouech@orange.fr Date: Sat Oct 18 13:59:47 2008 +0200
msvcrt: Implemented vswprintf_s.
---
dlls/msvcrt/msvcrt.spec | 1 + dlls/msvcrt/wcs.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index b11af56..658c775 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -760,6 +760,7 @@ @ cdecl vprintf(str ptr) MSVCRT_vprintf @ cdecl vsprintf(ptr str ptr) MSVCRT_vsprintf @ cdecl vswprintf(ptr wstr ptr) MSVCRT_vswprintf +@ cdecl vswprintf_s(ptr long wstr ptr) MSVCRT_vswprintf_s @ cdecl vwprintf(wstr ptr) MSVCRT_vwprintf @ cdecl wcscat(wstr wstr) ntdll.wcscat @ cdecl wcscat_s(wstr long wstr) MSVCRT_wcscat_s diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c index 81528be..7eab20b 100644 --- a/dlls/msvcrt/wcs.c +++ b/dlls/msvcrt/wcs.c @@ -657,6 +657,11 @@ static int pf_vsnprintf( pf_output *out, const WCHAR *format, va_list valist ) flags.Format = *p; r = 0;
+ if (flags.Format == '$') + { + FIXME("Positional parameters are not supported (%s)\n", wine_dbgstr_w(format)); + return -1; + } /* output a string */ if( flags.Format == 's' || flags.Format == 'S' ) 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 }
/********************************************************************* + * 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.@) */ int CDECL MSVCRT_wcscoll( const MSVCRT_wchar_t* str1, const MSVCRT_wchar_t* str2 )