| Index: base/process/launch_win.cc
|
| diff --git a/base/process/launch_win.cc b/base/process/launch_win.cc
|
| index 985dccc0a3214b3d5d704127ab10721b5dd301ad..ee6bac05adbfc8a031e4d9c2cf83624c60a8dcd3 100644
|
| --- a/base/process/launch_win.cc
|
| +++ b/base/process/launch_win.cc
|
| @@ -49,14 +49,14 @@ const DWORD kProcessKilledExitCode = 1;
|
| bool GetAppOutputInternal(const StringPiece16& cl,
|
| bool include_stderr,
|
| std::string* output) {
|
| - HANDLE out_read = NULL;
|
| - HANDLE out_write = NULL;
|
| + HANDLE out_read = nullptr;
|
| + HANDLE out_write = nullptr;
|
|
|
| SECURITY_ATTRIBUTES sa_attr;
|
| // Set the bInheritHandle flag so pipe handles are inherited.
|
| sa_attr.nLength = sizeof(SECURITY_ATTRIBUTES);
|
| sa_attr.bInheritHandle = TRUE;
|
| - sa_attr.lpSecurityDescriptor = NULL;
|
| + sa_attr.lpSecurityDescriptor = nullptr;
|
|
|
| // Create the pipe for the child process's STDOUT.
|
| if (!CreatePipe(&out_read, &out_write, &sa_attr, 0)) {
|
| @@ -92,11 +92,10 @@ bool GetAppOutputInternal(const StringPiece16& cl,
|
|
|
| // Create the child process.
|
| PROCESS_INFORMATION temp_process_info = {};
|
| - if (!CreateProcess(NULL,
|
| - &writable_command_line_string[0],
|
| - NULL, NULL,
|
| + if (!CreateProcess(nullptr, &writable_command_line_string[0], nullptr,
|
| + nullptr,
|
| TRUE, // Handles are inherited.
|
| - 0, NULL, NULL, &start_info, &temp_process_info)) {
|
| + 0, nullptr, nullptr, &start_info, &temp_process_info)) {
|
| NOTREACHED() << "Failed to start process";
|
| return false;
|
| }
|
| @@ -112,7 +111,8 @@ bool GetAppOutputInternal(const StringPiece16& cl,
|
|
|
| for (;;) {
|
| DWORD bytes_read = 0;
|
| - BOOL success = ReadFile(out_read, buffer, kBufferSize, &bytes_read, NULL);
|
| + BOOL success =
|
| + ReadFile(out_read, buffer, kBufferSize, &bytes_read, nullptr);
|
| if (!success || bytes_read == 0)
|
| break;
|
| output->append(buffer, bytes_read);
|
| @@ -188,7 +188,7 @@ void RouteStdioToConsole(bool create_console_if_not_found) {
|
| enum { kOutputBufferSize = 64 * 1024 };
|
|
|
| if (freopen("CONOUT$", "w", stdout)) {
|
| - setvbuf(stdout, NULL, _IOLBF, kOutputBufferSize);
|
| + setvbuf(stdout, nullptr, _IOLBF, kOutputBufferSize);
|
| // Overwrite FD 1 for the benefit of any code that uses this FD
|
| // directly. This is safe because the CRT allocates FDs 0, 1 and
|
| // 2 at startup even if they don't have valid underlying Windows
|
| @@ -197,7 +197,7 @@ void RouteStdioToConsole(bool create_console_if_not_found) {
|
| _dup2(_fileno(stdout), 1);
|
| }
|
| if (freopen("CONOUT$", "w", stderr)) {
|
| - setvbuf(stderr, NULL, _IOLBF, kOutputBufferSize);
|
| + setvbuf(stderr, nullptr, _IOLBF, kOutputBufferSize);
|
| _dup2(_fileno(stderr), 2);
|
| }
|
|
|
| @@ -290,22 +290,24 @@ Process LaunchProcess(const string16& cmdline,
|
|
|
| PROCESS_INFORMATION temp_process_info = {};
|
|
|
| + LPCTSTR current_directory = options.current_directory.empty()
|
| + ? nullptr
|
| + : options.current_directory.value().c_str();
|
| +
|
| string16 writable_cmdline(cmdline);
|
| if (options.as_user) {
|
| flags |= CREATE_UNICODE_ENVIRONMENT;
|
| - void* enviroment_block = NULL;
|
| + void* enviroment_block = nullptr;
|
|
|
| if (!CreateEnvironmentBlock(&enviroment_block, options.as_user, FALSE)) {
|
| DPLOG(ERROR);
|
| 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, nullptr, &writable_cmdline[0], nullptr, nullptr,
|
| + 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,9 +315,8 @@ Process LaunchProcess(const string16& cmdline,
|
| return Process();
|
| }
|
| } else {
|
| - if (!CreateProcess(NULL,
|
| - &writable_cmdline[0], NULL, NULL,
|
| - inherit_handles, flags, NULL, NULL,
|
| + if (!CreateProcess(nullptr, &writable_cmdline[0], nullptr, nullptr,
|
| + inherit_handles, flags, nullptr, current_directory,
|
| startup_info, &temp_process_info)) {
|
| DPLOG(ERROR) << "Command line:" << std::endl << UTF16ToUTF8(cmdline)
|
| << std::endl;
|
| @@ -354,9 +355,9 @@ Process LaunchElevatedProcess(const CommandLine& cmdline,
|
| shex_info.lpVerb = L"runas";
|
| shex_info.lpFile = file.c_str();
|
| shex_info.lpParameters = arguments.c_str();
|
| - shex_info.lpDirectory = NULL;
|
| + shex_info.lpDirectory = nullptr;
|
| shex_info.nShow = options.start_hidden ? SW_HIDE : SW_SHOW;
|
| - shex_info.hInstApp = NULL;
|
| + shex_info.hInstApp = nullptr;
|
|
|
| if (!ShellExecuteEx(&shex_info)) {
|
| DPLOG(ERROR);
|
|
|