Add llvm::Program::ChangeStderrToBinary().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94743 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Douglas Gregor 2010-01-28 06:42:08 +00:00
parent 150dfa8711
commit 21569cddc1
3 changed files with 14 additions and 2 deletions

View File

@ -120,10 +120,12 @@ namespace sys {
/// @brief Construct a Program by finding it by name.
static Path FindProgramByName(const std::string& name);
// These methods change the specified standard stream (stdin or stdout) to
// binary mode. They return true if an error occurred
// These methods change the specified standard stream (stdin,
// stdout, or stderr) to binary mode. They return true if an error
// occurred
static bool ChangeStdinToBinary();
static bool ChangeStdoutToBinary();
static bool ChangeStderrToBinary();
/// A convenience function equivalent to Program prg; prg.Execute(..);
/// prg.Wait(..);

View File

@ -323,4 +323,9 @@ bool Program::ChangeStdoutToBinary(){
return false;
}
bool Program::ChangeStderrToBinary(){
// Do nothing, as Unix doesn't differentiate between text and binary.
return false;
}
}

View File

@ -379,4 +379,9 @@ bool Program::ChangeStdoutToBinary(){
return result == -1;
}
bool Program::ChangeStderrToBinary(){
int result = _setmode( _fileno(stderr), _O_BINARY );
return result == -1;
}
}