=?UTF-8?Q?Andr=C3=A9=20Hentschel=20?=: msvcrt: Implement _wfreopen_s.
Alexandre Julliard
julliard at winehq.org
Tue Nov 15 13:17:31 CST 2011
Module: wine
Branch: master
Commit: 947d1bf588319383ed43920fafcf62e41cb7659e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=947d1bf588319383ed43920fafcf62e41cb7659e
Author: André Hentschel <nerv at dawncrow.de>
Date: Sun Nov 13 18:33:47 2011 +0100
msvcrt: Implement _wfreopen_s.
---
dlls/msvcr100/msvcr100.spec | 2 +-
dlls/msvcr80/msvcr80.spec | 2 +-
dlls/msvcr90/msvcr90.spec | 2 +-
dlls/msvcrt/file.c | 19 +++++++++++++++++++
dlls/msvcrt/msvcrt.spec | 2 +-
5 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index 87cae04..0925c1f 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -1350,7 +1350,7 @@
@ cdecl _wfopen(wstr wstr) msvcrt._wfopen
@ cdecl _wfopen_s(ptr wstr wstr) msvcrt._wfopen_s
@ cdecl _wfreopen(wstr wstr ptr) msvcrt._wfreopen
-@ stub _wfreopen_s
+@ cdecl _wfreopen_s(ptr wstr wstr ptr) msvcrt._wfreopen_s
@ cdecl _wfsopen(wstr wstr long) msvcrt._wfsopen
@ cdecl _wfullpath(ptr wstr long) msvcrt._wfullpath
@ cdecl _wgetcwd(wstr long) msvcrt._wgetcwd
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index 06751ef..4cde658 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -1203,7 +1203,7 @@
@ cdecl _wfopen(wstr wstr) msvcrt._wfopen
@ cdecl _wfopen_s(ptr wstr wstr) msvcrt._wfopen_s
@ cdecl _wfreopen(wstr wstr ptr) msvcrt._wfreopen
-@ stub _wfreopen_s
+@ cdecl _wfreopen_s(ptr wstr wstr ptr) msvcrt._wfreopen_s
@ cdecl _wfsopen(wstr wstr long) msvcrt._wfsopen
@ cdecl _wfullpath(ptr wstr long) msvcrt._wfullpath
@ cdecl _wgetcwd(wstr long) msvcrt._wgetcwd
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index 688bdc6..9d0d9e6 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -1197,7 +1197,7 @@
@ cdecl _wfopen(wstr wstr) msvcrt._wfopen
@ cdecl _wfopen_s(ptr wstr wstr) msvcrt._wfopen_s
@ cdecl _wfreopen(wstr wstr ptr) msvcrt._wfreopen
-@ stub _wfreopen_s
+@ cdecl _wfreopen_s(ptr wstr wstr ptr) msvcrt._wfreopen_s
@ cdecl _wfsopen(wstr wstr long) msvcrt._wfsopen
@ cdecl _wfullpath(ptr wstr long) msvcrt._wfullpath
@ cdecl _wgetcwd(wstr long) msvcrt._wgetcwd
diff --git a/dlls/msvcrt/file.c b/dlls/msvcrt/file.c
index f3200eb..07fed45 100644
--- a/dlls/msvcrt/file.c
+++ b/dlls/msvcrt/file.c
@@ -3277,6 +3277,25 @@ MSVCRT_FILE* CDECL MSVCRT__wfreopen(const MSVCRT_wchar_t *path, const MSVCRT_wch
}
/*********************************************************************
+ * _wfreopen_s (MSVCRT.@)
+ */
+int CDECL MSVCRT__wfreopen_s(MSVCRT_FILE** pFile,
+ const MSVCRT_wchar_t *path, const MSVCRT_wchar_t *mode, MSVCRT_FILE* file)
+{
+ if (!MSVCRT_CHECK_PMT(pFile != NULL) || !MSVCRT_CHECK_PMT(path != NULL) ||
+ !MSVCRT_CHECK_PMT(mode != NULL) || !MSVCRT_CHECK_PMT(file != NULL)) {
+ *MSVCRT__errno() = MSVCRT_EINVAL;
+ return MSVCRT_EINVAL;
+ }
+
+ *pFile = MSVCRT__wfreopen(path, mode, file);
+
+ if(!*pFile)
+ return *MSVCRT__errno();
+ return 0;
+}
+
+/*********************************************************************
* freopen (MSVCRT.@)
*
*/
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index f2b5e33..fac2104 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -1133,7 +1133,7 @@
@ cdecl _wfopen(wstr wstr) MSVCRT__wfopen
@ cdecl _wfopen_s(ptr wstr wstr) MSVCRT__wfopen_s
@ cdecl _wfreopen(wstr wstr ptr) MSVCRT__wfreopen
-# stub _wfreopen_s(ptr wstr wstr ptr)
+@ cdecl _wfreopen_s(ptr wstr wstr ptr) MSVCRT__wfreopen_s
@ cdecl _wfsopen(wstr wstr long) MSVCRT__wfsopen
@ cdecl _wfullpath(ptr wstr long)
# stub _wfullpath_dbg(ptr wstr long long str long)
More information about the wine-cvs
mailing list