[PATCH] ucrtbase: Add stub functions for narrow environment
Martin Storsjo
martin at martin.st
Thu Aug 27 15:27:24 CDT 2015
These are required for a plain empty exe that is built with dynamic
C runtime with MSVC 2015 to start up.
---
.../api-ms-win-crt-runtime-l1-1-0.spec | 6 ++---
dlls/msvcrt/data.c | 26 ++++++++++++++++++++++
dlls/ucrtbase/ucrtbase.spec | 6 ++---
3 files changed, 32 insertions(+), 6 deletions(-)
diff --git a/dlls/api-ms-win-crt-runtime-l1-1-0/api-ms-win-crt-runtime-l1-1-0.spec b/dlls/api-ms-win-crt-runtime-l1-1-0/api-ms-win-crt-runtime-l1-1-0.spec
index 77afe01..2f0bb33 100644
--- a/dlls/api-ms-win-crt-runtime-l1-1-0/api-ms-win-crt-runtime-l1-1-0.spec
+++ b/dlls/api-ms-win-crt-runtime-l1-1-0/api-ms-win-crt-runtime-l1-1-0.spec
@@ -23,7 +23,7 @@
@ cdecl _c_exit() ucrtbase._c_exit
@ cdecl _cexit() ucrtbase._cexit
@ cdecl _clearfp() ucrtbase._clearfp
-@ stub _configure_narrow_argv
+@ cdecl _configure_narrow_argv(long) ucrtbase._configure_narrow_argv
@ stub _configure_wide_argv
@ cdecl _control87(long long) ucrtbase._control87
@ cdecl _controlfp(long long) ucrtbase._controlfp
@@ -40,7 +40,7 @@
@ cdecl _fpreset() ucrtbase._fpreset
@ cdecl _get_doserrno(ptr) ucrtbase._get_doserrno
@ cdecl _get_errno(ptr) ucrtbase._get_errno
-@ stub _get_initial_narrow_environment
+@ cdecl _get_initial_narrow_environment() ucrtbase._get_initial_narrow_environment
@ stub _get_initial_wide_environment
@ cdecl _get_invalid_parameter_handler() ucrtbase._get_invalid_parameter_handler
@ stub _get_narrow_winmain_command_line
@@ -51,7 +51,7 @@
@ cdecl _get_wpgmptr(ptr) ucrtbase._get_wpgmptr
@ cdecl _getdllprocaddr(long str long) ucrtbase._getdllprocaddr
@ cdecl _getpid() ucrtbase._getpid
-@ stub _initialize_narrow_environment
+@ cdecl _initialize_narrow_environment() ucrtbase._initialize_narrow_environment
@ stub _initialize_onexit_table
@ stub _initialize_wide_environment
@ cdecl _initterm(ptr ptr) ucrtbase._initterm
diff --git a/dlls/msvcrt/data.c b/dlls/msvcrt/data.c
index e6989f1..7e75a7f 100644
--- a/dlls/msvcrt/data.c
+++ b/dlls/msvcrt/data.c
@@ -640,3 +640,29 @@ void CDECL MSVCRT___set_app_type(int app_type)
TRACE("(%d) %s application\n", app_type, app_type == 2 ? "Gui" : "Console");
MSVCRT_app_type = app_type;
}
+
+/*********************************************************************
+ * _get_initial_narrow_environment (UCRTBASE.@)
+ */
+char** CDECL _get_initial_narrow_environment(void)
+{
+ return MSVCRT___argv;
+}
+
+/*********************************************************************
+ * _configure_narrow_argv (UCRTBASE.@)
+ */
+int CDECL _configure_narrow_argv(int mode)
+{
+ TRACE("(%d)\n", mode);
+ return 0;
+}
+
+/*********************************************************************
+ * _initialize_narrow_environment (UCRTBASE.@)
+ */
+int CDECL _initialize_narrow_environment(void)
+{
+ TRACE("\n");
+ return 0;
+}
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
index bb56408..5623107 100644
--- a/dlls/ucrtbase/ucrtbase.spec
+++ b/dlls/ucrtbase/ucrtbase.spec
@@ -229,7 +229,7 @@
@ cdecl _close(long) MSVCRT__close
@ cdecl _commit(long) MSVCRT__commit
@ cdecl _configthreadlocale(long)
-@ stub _configure_narrow_argv
+@ cdecl _configure_narrow_argv(long)
@ stub _configure_wide_argv
@ cdecl _control87(long long)
@ cdecl _controlfp(long long)
@@ -365,7 +365,7 @@
@ cdecl _get_errno(ptr)
@ cdecl _get_fmode(ptr) MSVCRT__get_fmode
@ cdecl _get_heap_handle()
-@ stub _get_initial_narrow_environment
+@ cdecl _get_initial_narrow_environment()
@ stub _get_initial_wide_environment
@ cdecl _get_invalid_parameter_handler()
@ stub _get_narrow_winmain_command_line
@@ -418,7 +418,7 @@
@ cdecl _i64toa_s(int64 ptr long long) MSVCRT__i64toa_s
@ cdecl _i64tow(int64 ptr long) ntdll._i64tow
@ cdecl _i64tow_s(int64 ptr long long) MSVCRT__i64tow_s
-@ stub _initialize_narrow_environment
+@ cdecl _initialize_narrow_environment()
@ stub _initialize_onexit_table
@ stub _initialize_wide_environment
@ cdecl _initterm(ptr ptr)
--
1.8.1.2
More information about the wine-patches
mailing list