Eric Pouech : msvcrt: Implemented vswprintf_s.

Alexandre Julliard julliard at winehq.org
Tue Oct 21 07:07:00 CDT 2008


Module: wine
Branch: master
Commit: 6a77a36b242500966a6fdea1c087aafc01c492e1
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=6a77a36b242500966a6fdea1c087aafc01c492e1

Author: Eric Pouech <eric.pouech at 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 )




More information about the wine-cvs mailing list