Chromium Code Reviews| Index: base/process/launch_win.cc |
| diff --git a/base/process/launch_win.cc b/base/process/launch_win.cc |
| index 985dccc0a3214b3d5d704127ab10721b5dd301ad..38aa0125fe0796cf3d07c22657edae8f4e4c9e43 100644 |
| --- a/base/process/launch_win.cc |
| +++ b/base/process/launch_win.cc |
| @@ -290,6 +290,10 @@ Process LaunchProcess(const string16& cmdline, |
| PROCESS_INFORMATION temp_process_info = {}; |
| + LPCTSTR current_directory = options.current_directory.empty() |
| + ? NULL |
|
Lei Zhang
2016/03/29 00:57:54
nullptr in new code?
Sergey Ulanov
2016/04/04 18:01:27
Done.
|
| + : options.current_directory.value().c_str(); |
| + |
| string16 writable_cmdline(cmdline); |
| if (options.as_user) { |
| flags |= CREATE_UNICODE_ENVIRONMENT; |
| @@ -300,12 +304,10 @@ Process LaunchProcess(const string16& cmdline, |
| return Process(); |
| } |
| - BOOL launched = |
| - CreateProcessAsUser(options.as_user, NULL, |
| - &writable_cmdline[0], |
| - NULL, NULL, inherit_handles, flags, |
| - enviroment_block, NULL, startup_info, |
| - &temp_process_info); |
| + BOOL launched = CreateProcessAsUser( |
| + options.as_user, NULL, &writable_cmdline[0], NULL, NULL, |
| + inherit_handles, flags, enviroment_block, current_directory, |
| + startup_info, &temp_process_info); |
| DestroyEnvironmentBlock(enviroment_block); |
| if (!launched) { |
| DPLOG(ERROR) << "Command line:" << std::endl << UTF16ToUTF8(cmdline) |
| @@ -313,10 +315,9 @@ Process LaunchProcess(const string16& cmdline, |
| return Process(); |
| } |
| } else { |
| - if (!CreateProcess(NULL, |
| - &writable_cmdline[0], NULL, NULL, |
| - inherit_handles, flags, NULL, NULL, |
| - startup_info, &temp_process_info)) { |
| + if (!CreateProcess(NULL, &writable_cmdline[0], NULL, NULL, inherit_handles, |
| + flags, NULL, current_directory, startup_info, |
| + &temp_process_info)) { |
| DPLOG(ERROR) << "Command line:" << std::endl << UTF16ToUTF8(cmdline) |
| << std::endl; |
| return Process(); |