Skip to content

Commit 536847e

Browse files
charles-zablitkcloudy0717
authored andcommitted
[NFC][lldb][windows] refactor the referencing of STARTUPINFOW (llvm#170669)
1 parent 44646c3 commit 536847e

File tree

1 file changed

+15
-18
lines changed

1 file changed

+15
-18
lines changed

lldb/source/Host/windows/ProcessLauncherWindows.cpp

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -86,13 +86,9 @@ ProcessLauncherWindows::LaunchProcess(const ProcessLaunchInfo &launch_info,
8686
Status &error) {
8787
error.Clear();
8888

89-
std::string executable;
9089
STARTUPINFOEXW startupinfoex = {};
91-
STARTUPINFOW &startupinfo = startupinfoex.StartupInfo;
92-
PROCESS_INFORMATION pi = {};
93-
94-
startupinfo.cb = sizeof(startupinfoex);
95-
startupinfo.dwFlags |= STARTF_USESTDHANDLES;
90+
startupinfoex.StartupInfo.cb = sizeof(startupinfoex);
91+
startupinfoex.StartupInfo.dwFlags |= STARTF_USESTDHANDLES;
9692

9793
HANDLE stdin_handle = GetStdioHandle(launch_info, STDIN_FILENO);
9894
HANDLE stdout_handle = GetStdioHandle(launch_info, STDOUT_FILENO);
@@ -136,8 +132,8 @@ ProcessLauncherWindows::LaunchProcess(const ProcessLaunchInfo &launch_info,
136132
getenv("LLDB_LAUNCH_INFERIORS_WITHOUT_CONSOLE");
137133
if (hide_console_var &&
138134
llvm::StringRef(hide_console_var).equals_insensitive("true")) {
139-
startupinfo.dwFlags |= STARTF_USESHOWWINDOW;
140-
startupinfo.wShowWindow = SW_HIDE;
135+
startupinfoex.StartupInfo.dwFlags |= STARTF_USESHOWWINDOW;
136+
startupinfoex.StartupInfo.wShowWindow = SW_HIDE;
141137
}
142138

143139
DWORD flags = CREATE_NEW_CONSOLE | CREATE_UNICODE_ENVIRONMENT |
@@ -169,6 +165,8 @@ ProcessLauncherWindows::LaunchProcess(const ProcessLaunchInfo &launch_info,
169165
llvm::ConvertUTF8toWide(launch_info.GetWorkingDirectory().GetPath(),
170166
wworkingDirectory);
171167

168+
PROCESS_INFORMATION pi = {};
169+
172170
BOOL result = ::CreateProcessW(
173171
wexecutable.c_str(), pwcommandLine, NULL, NULL,
174172
/*bInheritHandles=*/!inherited_handles.empty(), flags, environment.data(),
@@ -198,21 +196,20 @@ llvm::ErrorOr<std::vector<HANDLE>> ProcessLauncherWindows::GetInheritedHandles(
198196
const ProcessLaunchInfo &launch_info, STARTUPINFOEXW &startupinfoex,
199197
HANDLE stdout_handle, HANDLE stderr_handle, HANDLE stdin_handle) {
200198
std::vector<HANDLE> inherited_handles;
201-
STARTUPINFOW &startupinfo = startupinfoex.StartupInfo;
202199

203-
startupinfo.hStdError =
200+
startupinfoex.StartupInfo.hStdError =
204201
stderr_handle ? stderr_handle : GetStdHandle(STD_ERROR_HANDLE);
205-
startupinfo.hStdInput =
202+
startupinfoex.StartupInfo.hStdInput =
206203
stdin_handle ? stdin_handle : GetStdHandle(STD_INPUT_HANDLE);
207-
startupinfo.hStdOutput =
204+
startupinfoex.StartupInfo.hStdOutput =
208205
stdout_handle ? stdout_handle : GetStdHandle(STD_OUTPUT_HANDLE);
209206

210-
if (startupinfo.hStdError)
211-
inherited_handles.push_back(startupinfo.hStdError);
212-
if (startupinfo.hStdInput)
213-
inherited_handles.push_back(startupinfo.hStdInput);
214-
if (startupinfo.hStdOutput)
215-
inherited_handles.push_back(startupinfo.hStdOutput);
207+
if (startupinfoex.StartupInfo.hStdError)
208+
inherited_handles.push_back(startupinfoex.StartupInfo.hStdError);
209+
if (startupinfoex.StartupInfo.hStdInput)
210+
inherited_handles.push_back(startupinfoex.StartupInfo.hStdInput);
211+
if (startupinfoex.StartupInfo.hStdOutput)
212+
inherited_handles.push_back(startupinfoex.StartupInfo.hStdOutput);
216213

217214
for (size_t i = 0; i < launch_info.GetNumFileActions(); ++i) {
218215
const FileAction *act = launch_info.GetFileActionAtIndex(i);

0 commit comments

Comments
 (0)