Module: wine Branch: master Commit: 2ff04b9d571c30b514c450c7cafcef647e6a942a URL: http://source.winehq.org/git/wine.git/?a=commit;h=2ff04b9d571c30b514c450c7ca...
Author: Piotr Caban piotr@codeweavers.com Date: Tue Apr 20 21:38:33 2010 +0200
msvcrt: Added _wfopen_s implementation.
---
dlls/msvcr80/msvcr80.spec | 2 +- dlls/msvcr90/msvcr90.spec | 2 +- dlls/msvcrt/file.c | 19 +++++++++++++++++++ dlls/msvcrt/msvcrt.spec | 2 +- 4 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 44507ec..917ac4f 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -1146,7 +1146,7 @@ @ stub _wfindnext64 @ stub _wfindnext64i32 @ cdecl _wfopen(wstr wstr) msvcrt._wfopen -@ stub _wfopen_s +@ cdecl _wfopen_s(ptr wstr wstr) msvcrt._wfopen_s @ cdecl _wfreopen(wstr wstr ptr) msvcrt._wfreopen @ stub _wfreopen_s @ cdecl _wfsopen(wstr wstr long) msvcrt._wfsopen diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 1e6731f..5761301 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -1133,7 +1133,7 @@ @ stub _wfindnext64 @ stub _wfindnext64i32 @ cdecl _wfopen(wstr wstr) msvcrt._wfopen -@ stub _wfopen_s +@ cdecl _wfopen_s(ptr wstr wstr) msvcrt._wfopen_s @ cdecl _wfreopen(wstr wstr ptr) msvcrt._wfreopen @ stub _wfreopen_s @ cdecl _wfsopen(wstr wstr long) msvcrt._wfsopen diff --git a/dlls/msvcrt/file.c b/dlls/msvcrt/file.c index 6641999..f906401 100644 --- a/dlls/msvcrt/file.c +++ b/dlls/msvcrt/file.c @@ -2707,6 +2707,25 @@ MSVCRT_FILE * CDECL MSVCRT__wfopen(const MSVCRT_wchar_t *path, const MSVCRT_wcha return MSVCRT__wfsopen( path, mode, MSVCRT__SH_DENYNO ); }
+/********************************************************************* + * _wfopen_s (MSVCRT.@) + */ +int CDECL MSVCRT__wfopen_s(MSVCRT_FILE** pFile, const MSVCRT_wchar_t *filename, + const MSVCRT_wchar_t *mode) +{ + if(!pFile) { + MSVCRT__invalid_parameter(NULL, NULL, NULL, 0, 0); + *MSVCRT__errno() = MSVCRT_EINVAL; + return MSVCRT_EINVAL; + } + + *pFile = MSVCRT__wfopen(filename, mode); + + if(!*pFile) + return *MSVCRT__errno(); + return 0; +} + /* MSVCRT_fputc calls MSVCRT__flsbuf which calls MSVCRT_fputc */ int CDECL MSVCRT__flsbuf(int c, MSVCRT_FILE* file);
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index fdd58c2..2700895 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -1072,7 +1072,7 @@ # stub _wfindnext64 @ cdecl _wfindnexti64(long ptr) MSVCRT__wfindnexti64 @ cdecl _wfopen(wstr wstr) MSVCRT__wfopen -# stub _wfopen_s +@ cdecl _wfopen_s(ptr wstr wstr) MSVCRT__wfopen_s @ cdecl _wfreopen(wstr wstr ptr) MSVCRT__wfreopen # stub _wfreopen_s @ cdecl _wfsopen(wstr wstr long) MSVCRT__wfsopen