Don't re-attach stdio when piping output

This commit is contained in:
Luminyx 2026-02-15 22:19:31 -05:00
parent 3b5c6f5246
commit 2d347ff5c5
No known key found for this signature in database
GPG Key ID: C590EEF718016830

View File

@ -165,20 +165,25 @@ void UnitTests()
}
bool isConsoleConnected = false;
void requireConsole()
{
#if BOOST_OS_WINDOWS
if (isConsoleConnected)
return;
void requireConsole() {
#if BOOST_OS_WINDOWS
if (isConsoleConnected)
return;
if (AttachConsole(ATTACH_PARENT_PROCESS) != FALSE)
{
freopen("CONIN$", "r", stdin);
freopen("CONOUT$", "w", stdout);
freopen("CONOUT$", "w", stderr);
isConsoleConnected = true;
}
#endif
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);
DWORD dwFileType = GetFileType(hOut);
if (dwFileType == FILE_TYPE_UNKNOWN || dwFileType == FILE_TYPE_CHAR) {
if (AttachConsole(ATTACH_PARENT_PROCESS) != FALSE) {
freopen("CONOUT$", "w", stdout);
freopen("CONOUT$", "w", stderr);
freopen("CONIN$", "r", stdin);
isConsoleConnected = true;
}
} else {
isConsoleConnected = true;
}
#endif
}
void HandlePostUpdate()