Eryk Wieliczko : msvcrt: Implement vprintf_s and vwprintf_s.

Alexandre Julliard julliard at winehq.org
Thu Nov 25 11:18:55 CST 2010


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

Author: Eryk Wieliczko <ewdevel at gmail.com>
Date:   Wed Nov 24 21:25:30 2010 +0100

msvcrt: Implement vprintf_s and vwprintf_s.

---

 dlls/msvcr100/msvcr100.spec |    4 ++--
 dlls/msvcr80/msvcr80.spec   |    4 ++--
 dlls/msvcr90/msvcr90.spec   |    4 ++--
 dlls/msvcrt/file.c          |   16 ++++++++++++++++
 dlls/msvcrt/msvcrt.spec     |    4 ++--
 include/msvcrt/stdio.h      |    2 ++
 include/msvcrt/wchar.h      |    1 +
 7 files changed, 27 insertions(+), 8 deletions(-)

diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index 1c8dc12..2600fc0 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -1621,12 +1621,12 @@
 @ cdecl vfwprintf(ptr wstr ptr) msvcrt.vfwprintf
 @ cdecl vfwprintf_s(ptr wstr ptr) msvcrt.vfwprintf_s
 @ cdecl vprintf(str ptr) msvcrt.vprintf
-@ stub vprintf_s
+@ cdecl vprintf_s(str ptr) msvcrt.vprintf_s
 @ cdecl vsprintf(ptr str ptr) msvcrt.vsprintf
 @ cdecl vsprintf_s(ptr long str ptr) msvcrt.vsprintf_s
 @ cdecl vswprintf_s(ptr long wstr ptr) msvcrt.vswprintf_s
 @ cdecl vwprintf(wstr ptr) msvcrt.vwprintf
-@ stub vwprintf_s
+@ cdecl vwprintf_s(wstr ptr) msvcrt.vwprintf_s
 @ stub wcrtomb
 @ stub wcrtomb_s
 @ cdecl wcscat(wstr wstr) msvcrt.wcscat
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index 3bee113..9823273 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -1475,12 +1475,12 @@
 @ cdecl vfwprintf(ptr wstr ptr) msvcrt.vfwprintf
 @ cdecl vfwprintf_s(ptr wstr ptr) msvcrt.vfwprintf_s
 @ cdecl vprintf(str ptr) msvcrt.vprintf
-@ stub vprintf_s
+@ cdecl vprintf_s(str ptr) msvcrt.vprintf_s
 @ cdecl vsprintf(ptr str ptr) msvcrt.vsprintf
 @ cdecl vsprintf_s(ptr long str ptr) msvcrt.vsprintf_s
 @ cdecl vswprintf_s(ptr long wstr ptr) msvcrt.vswprintf_s
 @ cdecl vwprintf(wstr ptr) msvcrt.vwprintf
-@ stub vwprintf_s
+@ cdecl vwprintf_s(wstr ptr) msvcrt.vwprintf_s
 @ stub wcrtomb
 @ stub wcrtomb_s
 @ cdecl wcscat(wstr wstr) msvcrt.wcscat
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index 536db47..4f68724 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -1459,12 +1459,12 @@
 @ cdecl vfwprintf(ptr wstr ptr) msvcrt.vfwprintf
 @ cdecl vfwprintf_s(ptr wstr ptr) msvcrt.vfwprintf_s
 @ cdecl vprintf(str ptr) msvcrt.vprintf
-@ stub vprintf_s
+@ cdecl vprintf_s(str ptr) msvcrt.vprintf_s
 @ cdecl vsprintf(ptr str ptr) msvcrt.vsprintf
 @ cdecl vsprintf_s(ptr long str ptr) msvcrt.vsprintf_s
 @ cdecl vswprintf_s(ptr long wstr ptr) msvcrt.vswprintf_s
 @ cdecl vwprintf(wstr ptr) msvcrt.vwprintf
-@ stub vwprintf_s
+@ cdecl vwprintf_s(wstr ptr) msvcrt.vwprintf_s
 @ stub wcrtomb
 @ stub wcrtomb_s
 @ cdecl wcscat(wstr wstr) msvcrt.wcscat
diff --git a/dlls/msvcrt/file.c b/dlls/msvcrt/file.c
index 0c60bdc..b8f4338 100644
--- a/dlls/msvcrt/file.c
+++ b/dlls/msvcrt/file.c
@@ -3463,6 +3463,14 @@ int CDECL MSVCRT_vprintf(const char *format, __ms_va_list valist)
 }
 
 /*********************************************************************
+ *		vprintf_s (MSVCRT.@)
+ */
+int CDECL MSVCRT_vprintf_s(const char *format, __ms_va_list valist)
+{
+  return MSVCRT_vfprintf_s(MSVCRT_stdout,format,valist);
+}
+
+/*********************************************************************
  *		vwprintf (MSVCRT.@)
  */
 int CDECL MSVCRT_vwprintf(const MSVCRT_wchar_t *format, __ms_va_list valist)
@@ -3471,6 +3479,14 @@ int CDECL MSVCRT_vwprintf(const MSVCRT_wchar_t *format, __ms_va_list valist)
 }
 
 /*********************************************************************
+ *		vwprintf_s (MSVCRT.@)
+ */
+int CDECL MSVCRT_vwprintf_s(const MSVCRT_wchar_t *format, __ms_va_list valist)
+{
+  return MSVCRT_vfwprintf_s(MSVCRT_stdout,format,valist);
+}
+
+/*********************************************************************
  *		fprintf (MSVCRT.@)
  */
 int CDECL MSVCRT_fprintf(MSVCRT_FILE* file, const char *format, ...)
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index b6d1f10..c861643 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -1426,14 +1426,14 @@
 @ cdecl vfwprintf(ptr wstr ptr) MSVCRT_vfwprintf
 @ cdecl vfwprintf_s(ptr wstr ptr) MSVCRT_vfwprintf_s
 @ cdecl vprintf(str ptr) MSVCRT_vprintf
-# stub vprintf_s
+@ cdecl vprintf_s(str ptr) MSVCRT_vprintf_s
 # stub vsnprintf
 @ cdecl vsprintf(ptr str ptr) MSVCRT_vsprintf
 @ cdecl vsprintf_s(ptr long str ptr) MSVCRT_vsprintf_s
 @ cdecl vswprintf(ptr wstr ptr) MSVCRT_vswprintf
 @ cdecl vswprintf_s(ptr long wstr ptr) MSVCRT_vswprintf_s
 @ cdecl vwprintf(wstr ptr) MSVCRT_vwprintf
-# stub vwprintf_s
+@ cdecl vwprintf_s(wstr ptr) MSVCRT_vwprintf_s
 # stub wcrtomb
 # stub wcrtomb_s
 @ cdecl wcscat(wstr wstr) ntdll.wcscat
diff --git a/include/msvcrt/stdio.h b/include/msvcrt/stdio.h
index e27c8ca..e8c7671 100644
--- a/include/msvcrt/stdio.h
+++ b/include/msvcrt/stdio.h
@@ -168,6 +168,7 @@ int    __cdecl ungetc(int,FILE*);
 int    __cdecl vfprintf(FILE*,const char*,__ms_va_list);
 int    __cdecl vfprintf_s(FILE*,const char*,__ms_va_list);
 int    __cdecl vprintf(const char*,__ms_va_list);
+int    __cdecl vprintf_s(const char*,__ms_va_list);
 int    __cdecl vsprintf(char*,const char*,__ms_va_list);
 int    __cdecl vsprintf_s(char*,size_t,const char*,__ms_va_list);
 
@@ -217,6 +218,7 @@ int      __cdecl vfwprintf_s(FILE*,const wchar_t*,__ms_va_list);
 int      __cdecl vswprintf(wchar_t*,const wchar_t*,__ms_va_list);
 int      __cdecl vswprintf_s(wchar_t*,size_t,const wchar_t*,__ms_va_list);
 int      __cdecl vwprintf(const wchar_t*,__ms_va_list);
+int      __cdecl vwprintf_s(const wchar_t*,__ms_va_list);
 int      __cdecl wprintf(const wchar_t*,...);
 int      __cdecl wscanf(const wchar_t*,...);
 int      __cdecl wscanf_s(const wchar_t*,...);
diff --git a/include/msvcrt/wchar.h b/include/msvcrt/wchar.h
index 7c495f0..d0a6a37 100644
--- a/include/msvcrt/wchar.h
+++ b/include/msvcrt/wchar.h
@@ -314,6 +314,7 @@ int      __cdecl vfwprintf_s(FILE*,const wchar_t*,__ms_va_list);
 int      __cdecl vswprintf(wchar_t*,const wchar_t*,__ms_va_list);
 int      __cdecl vswprintf_s(wchar_t*,size_t,const wchar_t*,__ms_va_list);
 int      __cdecl vwprintf(const wchar_t*,__ms_va_list);
+int      __cdecl vwprintf_s(const wchar_t*,__ms_va_list);
 int      __cdecl wprintf(const wchar_t*,...);
 int      __cdecl wscanf(const wchar_t*,...);
 int      __cdecl wscanf_s(const wchar_t*,...);




More information about the wine-cvs mailing list