[PATCH] [Msvcrt]: implemented vswprintf_s
Eric Pouech
eric.pouech at orange.fr
Sat Oct 18 06:59:47 CDT 2008
A+
---
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..93814f5 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 positionnal arguments */
+ return MSVCRT_vsnwprintf( str, num, format, args );
+}
+
+/*********************************************************************
* wcscoll (MSVCRT.@)
*/
int CDECL MSVCRT_wcscoll( const MSVCRT_wchar_t* str1, const MSVCRT_wchar_t* str2 )
More information about the wine-patches
mailing list