Piotr Caban : msvcrt: Added swprintf_s implementation.

Alexandre Julliard julliard at winehq.org
Wed Apr 21 10:40:19 CDT 2010


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Tue Apr 20 21:39:01 2010 +0200

msvcrt: Added swprintf_s implementation.

---

 dlls/msvcr80/msvcr80.spec |    2 +-
 dlls/msvcr90/msvcr90.spec |    2 +-
 dlls/msvcrt/msvcrt.spec   |    2 +-
 dlls/msvcrt/wcs.c         |   17 +++++++++++++++++
 4 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index 917ac4f..0bbbfda 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -1400,7 +1400,7 @@
 @ cdecl strtol(str ptr long) msvcrt.strtol
 @ cdecl strtoul(str ptr long) msvcrt.strtoul
 @ cdecl strxfrm(ptr str long) msvcrt.strxfrm
-@ stub swprintf_s
+@ varargs swprintf_s(ptr long wstr) msvcrt.swprintf_s
 @ varargs swscanf(wstr wstr) msvcrt.swscanf
 @ stub swscanf_s
 @ cdecl system(str) msvcrt.system
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index 5761301..45cd885 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -1384,7 +1384,7 @@
 @ cdecl strtol(str ptr long) msvcrt.strtol
 @ cdecl strtoul(str ptr long) msvcrt.strtoul
 @ cdecl strxfrm(ptr str long) msvcrt.strxfrm
-@ stub swprintf_s
+@ varargs swprintf_s(ptr long wstr) msvcrt.swprintf_s
 @ varargs swscanf(wstr wstr) msvcrt.swscanf
 @ stub swscanf_s
 @ cdecl system(str) msvcrt.system
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index 2700895..98db83f 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -1341,7 +1341,7 @@
 @ cdecl strtoul(str ptr long) MSVCRT_strtoul
 @ cdecl strxfrm(ptr str long) MSVCRT_strxfrm
 @ varargs swprintf(ptr wstr) MSVCRT_swprintf
-# stub swprintf_s
+@ varargs swprintf_s(ptr long wstr) MSVCRT_swprintf_s
 @ varargs swscanf(wstr wstr) MSVCRT_swscanf
 # stub swscanf_s
 @ cdecl system(str) MSVCRT_system
diff --git a/dlls/msvcrt/wcs.c b/dlls/msvcrt/wcs.c
index df0ac03..21d0d28 100644
--- a/dlls/msvcrt/wcs.c
+++ b/dlls/msvcrt/wcs.c
@@ -1065,6 +1065,23 @@ int CDECL MSVCRT_swprintf( MSVCRT_wchar_t *str, const MSVCRT_wchar_t *format, ..
 }
 
 /*********************************************************************
+ *		swprintf_s (MSVCRT.@)
+ */
+int CDECL MSVCRT_swprintf_s(MSVCRT_wchar_t *str, MSVCRT_size_t numberOfElements,
+        const MSVCRT_wchar_t *format, ... )
+{
+    __ms_va_list ap;
+    int r;
+
+    __ms_va_start(ap, format);
+    r = MSVCRT_vsnwprintf_s(str, numberOfElements*sizeof(MSVCRT_wchar_t),
+            INT_MAX, format, ap);
+    __ms_va_end(ap);
+
+    return r;
+}
+
+/*********************************************************************
  *		vswprintf (MSVCRT.@)
  */
 int CDECL MSVCRT_vswprintf( MSVCRT_wchar_t* str, const MSVCRT_wchar_t* format, __ms_va_list args )




More information about the wine-cvs mailing list