Skip to content

Commit 2d17721

Browse files
Handle stdout redirection on windows with CON
1 parent 262e2c6 commit 2d17721

4 files changed

Lines changed: 15 additions & 4 deletions

File tree

src/Norm/base/CommandFile.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@ void CommandFile::SetOutputCommandFileName(const ALString& sFileName)
5555
#ifdef __linux_or_apple__
5656
if (sOutputCommandFileName == "/dev/stdout" or sOutputCommandFileName == "/dev/stderr")
5757
bPrintOutputInConsole = true;
58+
#elif defined(_WIN32)
59+
if (sOutputCommandFileName == "CON")
60+
bPrintOutputInConsole = true;
5861
#endif
5962
}
6063

src/Norm/base/Ermgt.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -335,6 +335,9 @@ boolean Global::SetErrorLogFileName(const ALString& sValue)
335335
#ifdef __linux_or_apple__
336336
if (sValue == "/dev/stdout" or sValue == "/dev/stderr")
337337
bPrintMessagesInConsole = true;
338+
#elif defined(_WIN32)
339+
if (sValue == "CON")
340+
bPrintMessagesInConsole = true;
338341
#endif
339342
}
340343
return bOk;

src/Norm/base/TaskProgressionManager.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,9 @@ void FileTaskProgressionManager::SetTaskProgressionFileName(const ALString& sFil
6262
#ifdef __linux_or_apple__
6363
if (sFileName == "/dev/stdout" or sFileName == "/dev/stderr")
6464
bPrintProgressionInConsole = true;
65+
#elif defined(_WIN32)
66+
if (sFileName == "CON")
67+
bPrintProgressionInConsole = true;
6568
#endif
6669
}
6770
}

src/Norm/base/UIObject.cpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1764,13 +1764,15 @@ boolean UIObject::CheckCommandLineOptions(const ObjectArray& oaOptions)
17641764

17651765
// Test de difference
17661766
#ifdef _WIN32
1767-
bOk = bOk and fsFileToCompare->CheckReferenceFileSpec(fsFile);
1767+
bOk = bOk and (fsFileToCompare->GetFilePathName() == "CON" and
1768+
fsFile->GetFilePathName() == "CON") or
1769+
(fsFileToCompare->CheckReferenceFileSpec(fsFile));
17681770
#else
1769-
bOk = bOk and (fsFileToCompare->CheckReferenceFileSpec(fsFile) or
1770-
(fsFileToCompare->GetFilePathName() == "/dev/stdout" and
1771+
bOk = bOk and ((fsFileToCompare->GetFilePathName() == "/dev/stdout" and
17711772
fsFile->GetFilePathName() == "/dev/stdout") or
17721773
(fsFileToCompare->GetFilePathName() == "/dev/stderr" and
1773-
fsFile->GetFilePathName() == "/dev/stderr"));
1774+
fsFile->GetFilePathName() == "/dev/stderr") or
1775+
fsFileToCompare->CheckReferenceFileSpec(fsFile));
17741776
#endif // _WIN32
17751777
if (not bOk)
17761778
break;

0 commit comments

Comments
 (0)