[PATCH] ucrtbase: Added _sopen_dispatch/_wsopen_dispatch

Nikolay Sivov nsivov at codeweavers.com
Thu Oct 27 11:17:24 CDT 2016


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 .../api-ms-win-crt-stdio-l1-1-0.spec               |  4 ++--
 dlls/msvcrt/file.c                                 | 24 ++++++++++++++++++++++
 dlls/ucrtbase/ucrtbase.spec                        |  4 ++--
 3 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/dlls/api-ms-win-crt-stdio-l1-1-0/api-ms-win-crt-stdio-l1-1-0.spec b/dlls/api-ms-win-crt-stdio-l1-1-0/api-ms-win-crt-stdio-l1-1-0.spec
index 4b8be01..6acd08e 100644
--- a/dlls/api-ms-win-crt-stdio-l1-1-0/api-ms-win-crt-stdio-l1-1-0.spec
+++ b/dlls/api-ms-win-crt-stdio-l1-1-0/api-ms-win-crt-stdio-l1-1-0.spec
@@ -87,7 +87,7 @@
 @ cdecl _setmaxstdio(long) ucrtbase._setmaxstdio
 @ cdecl _setmode(long long) ucrtbase._setmode
 @ varargs _sopen(str long long) ucrtbase._sopen
-@ stub _sopen_dispatch
+@ cdecl _sopen_dispatch(str long long long ptr long) ucrtbase._sopen_dispatch
 @ cdecl _sopen_s(ptr str long long long) ucrtbase._sopen_s
 @ cdecl _tell(long) ucrtbase._tell
 @ cdecl -ret64 _telli64(long) ucrtbase._telli64
@@ -107,7 +107,7 @@
 @ cdecl _wpopen(wstr wstr) ucrtbase._wpopen
 @ cdecl _write(long ptr long) ucrtbase._write
 @ varargs _wsopen(wstr long long) ucrtbase._wsopen
-@ stub _wsopen_dispatch
+@ cdecl _wsopen_dispatch(wstr long long long ptr long) ucrtbase._wsopen_dispatch
 @ cdecl _wsopen_s(ptr wstr long long long) ucrtbase._wsopen_s
 @ cdecl _wtempnam(wstr wstr) ucrtbase._wtempnam
 @ cdecl _wtmpnam(ptr) ucrtbase._wtmpnam
diff --git a/dlls/msvcrt/file.c b/dlls/msvcrt/file.c
index 432d5c7..9097598 100644
--- a/dlls/msvcrt/file.c
+++ b/dlls/msvcrt/file.c
@@ -2330,6 +2330,18 @@ int CDECL MSVCRT__wsopen( const MSVCRT_wchar_t *path, int oflags, int shflags, .
 }
 
 /*********************************************************************
+ *              _wsopen_dispatch (UCRTBASE.@)
+ */
+int CDECL MSVCRT__wsopen_dispatch( const MSVCRT_wchar_t *path, int oflags, int shflags,
+    int pmode, int *filehandle, int secure)
+{
+  if (secure)
+    FIXME("secure argument ignored.\n");
+
+  return MSVCRT__wsopen_s( filehandle, path, oflags, shflags, pmode );
+}
+
+/*********************************************************************
  *              _sopen_s (MSVCRT.@)
  */
 int CDECL MSVCRT__sopen_s( int *fd, const char *path, int oflags, int shflags, int pmode )
@@ -2349,6 +2361,18 @@ int CDECL MSVCRT__sopen_s( int *fd, const char *path, int oflags, int shflags, i
 }
 
 /*********************************************************************
+ *              _sopen_dispatch (UCRTBASE.@)
+ */
+int CDECL MSVCRT__sopen_dispatch( const char *path, int oflags, int shflags,
+    int pmode, int *filehandle, int secure)
+{
+  if (secure)
+    FIXME("secure argument ignored.\n");
+
+  return MSVCRT__sopen_s( filehandle, path, oflags, shflags, pmode );
+}
+
+/*********************************************************************
  *              _sopen (MSVCRT.@)
  */
 int CDECL MSVCRT__sopen( const char *path, int oflags, int shflags, ... )
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index f0598ce..47608f9 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -1902,7 +1902,7 @@
 @ stub _setsystime(ptr long)
 @ cdecl _sleep(long) MSVCRT__sleep
 @ varargs _sopen(str long long) MSVCRT__sopen
-@ stub _sopen_dispatch
+@ cdecl _sopen_dispatch(str long long long ptr long) MSVCRT__sopen_dispatch
 @ cdecl _sopen_s(ptr str long long long) MSVCRT__sopen_s
 @ varargs _spawnl(long str str)
 @ varargs _spawnle(long str str)
@@ -2109,7 +2109,7 @@
 @ cdecl _wsearchenv_s(wstr wstr ptr long) MSVCRT__wsearchenv_s
 @ cdecl _wsetlocale(long wstr) MSVCRT__wsetlocale
 @ varargs _wsopen(wstr long long) MSVCRT__wsopen
-@ stub _wsopen_dispatch
+@ cdecl _wsopen_dispatch(wstr long long long ptr long) MSVCRT__wsopen_dispatch
 @ cdecl _wsopen_s(ptr wstr long long long) MSVCRT__wsopen_s
 @ varargs _wspawnl(long wstr wstr)
 @ varargs _wspawnle(long wstr wstr)
-- 
2.9.3




More information about the wine-patches mailing list