Piotr Caban : msvcrt: Call CreateProcess with CREATE_UNICODE_ENVIRONMENT flag in exec functions family.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Dec 4 16:01:09 CST 2014


Module: wine
Branch: master
Commit: a4fcba60b9a8084e8a579e503a83c5241f437135
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=a4fcba60b9a8084e8a579e503a83c5241f437135

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Thu Dec  4 11:41:30 2014 +0100

msvcrt: Call CreateProcess with CREATE_UNICODE_ENVIRONMENT flag in exec functions family.

Based on a patch by Ron Yorston.

---

 dlls/msvcrt/process.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/dlls/msvcrt/process.c b/dlls/msvcrt/process.c
index b782727..f3c9000 100644
--- a/dlls/msvcrt/process.c
+++ b/dlls/msvcrt/process.c
@@ -134,6 +134,7 @@ static MSVCRT_intptr_t msvcrt_spawn(int flags, const MSVCRT_wchar_t* exe, MSVCRT
   STARTUPINFOW si;
   PROCESS_INFORMATION pi;
   MSVCRT_wchar_t fullname[MAX_PATH];
+  DWORD create_flags = CREATE_UNICODE_ENVIRONMENT;
 
   TRACE("%x %s %s %s %d\n", flags, debugstr_w(exe), debugstr_w(cmdline), debugstr_w(env), use_path);
 
@@ -148,9 +149,9 @@ static MSVCRT_intptr_t msvcrt_spawn(int flags, const MSVCRT_wchar_t* exe, MSVCRT
   memset(&si, 0, sizeof(si));
   si.cb = sizeof(si);
   msvcrt_create_io_inherit_block(&si.cbReserved2, &si.lpReserved2);
+  if (flags == MSVCRT__P_DETACH) create_flags |= DETACHED_PROCESS;
   if (!CreateProcessW(fullname, cmdline, NULL, NULL, TRUE,
-                     flags == MSVCRT__P_DETACH ? DETACHED_PROCESS : 0,
-                     env, NULL, &si, &pi))
+                      create_flags, env, NULL, &si, &pi))
   {
     msvcrt_set_errno(GetLastError());
     MSVCRT_free(si.lpReserved2);




More information about the wine-cvs mailing list