[PATCH 3/5] msvcrt: Implement vprintf_s and vwprintf_s.
Eryk Wieliczko
ewdevel at gmail.com
Wed Nov 24 14:12:36 CST 2010
---
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 16854b4..61a7121 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 809cdda..03d4ce3 100644
--- a/dlls/msvcrt/file.c
+++ b/dlls/msvcrt/file.c
@@ -3481,6 +3481,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)
@@ -3489,6 +3497,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*,...);
--
1.7.0.4
More information about the wine-patches
mailing list