aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/Windows/Program.inc
diff options
context:
space:
mode:
authorMichael J. Spencer <bigcheesegs@gmail.com>2011-12-13 23:16:49 +0000
committerMichael J. Spencer <bigcheesegs@gmail.com>2011-12-13 23:16:49 +0000
commita2755f8efa8fd3c458cc18227255e514ae9d9bee (patch)
treed4194d933a7659878f0b21c7f6d045d0db4dd59e /llvm/lib/Support/Windows/Program.inc
parent7dfbeda68efc9cd4b0be4551894dbe2233157db4 (diff)
downloadllvm-a2755f8efa8fd3c458cc18227255e514ae9d9bee.zip
llvm-a2755f8efa8fd3c458cc18227255e514ae9d9bee.tar.gz
llvm-a2755f8efa8fd3c458cc18227255e514ae9d9bee.tar.bz2
Support/Program: Make Change<stream>ToBinary return error_code.
llvm-svn: 146522
Diffstat (limited to 'llvm/lib/Support/Windows/Program.inc')
-rw-r--r--llvm/lib/Support/Windows/Program.inc18
1 files changed, 12 insertions, 6 deletions
diff --git a/llvm/lib/Support/Windows/Program.inc b/llvm/lib/Support/Windows/Program.inc
index b328b3c..80ccaa6 100644
--- a/llvm/lib/Support/Windows/Program.inc
+++ b/llvm/lib/Support/Windows/Program.inc
@@ -397,19 +397,25 @@ Program::Kill(std::string* ErrMsg) {
return false;
}
-bool Program::ChangeStdinToBinary(){
+error_code Program::ChangeStdinToBinary(){
int result = _setmode( _fileno(stdin), _O_BINARY );
- return result == -1;
+ if (result == -1)
+ return error_code(errno, generic_category());
+ return make_error_code(errc::success);
}
-bool Program::ChangeStdoutToBinary(){
+error_code Program::ChangeStdoutToBinary(){
int result = _setmode( _fileno(stdout), _O_BINARY );
- return result == -1;
+ if (result == -1)
+ return error_code(errno, generic_category());
+ return make_error_code(errc::success);
}
-bool Program::ChangeStderrToBinary(){
+error_code Program::ChangeStderrToBinary(){
int result = _setmode( _fileno(stderr), _O_BINARY );
- return result == -1;
+ if (result == -1)
+ return error_code(errno, generic_category());
+ return make_error_code(errc::success);
}
}