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