summaryrefslogtreecommitdiff
path: root/lib/Support/DataStream.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Support/DataStream.cpp')
-rw-r--r--lib/Support/DataStream.cpp23
1 files changed, 11 insertions, 12 deletions
diff --git a/lib/Support/DataStream.cpp b/lib/Support/DataStream.cpp
index b2dd979e7f..0e8a717b51 100644
--- a/lib/Support/DataStream.cpp
+++ b/lib/Support/DataStream.cpp
@@ -49,8 +49,6 @@ DataStreamer::~DataStreamer() {}
namespace {
-const static error_code success;
-
// Very simple stream backed by a file. Mostly useful for stdin and debugging;
// actual file access is probably still best done with mmap.
class DataFileStreamer : public DataStreamer {
@@ -66,18 +64,20 @@ public:
}
error_code OpenFile(const std::string &Filename) {
- int OpenFlags = O_RDONLY;
-#ifdef O_BINARY
- OpenFlags |= O_BINARY; // Open input file in binary mode on win32.
-#endif
if (Filename == "-") {
Fd = 0;
sys::Program::ChangeStdinToBinary();
+ return error_code();
}
- else
- Fd = ::open(Filename.c_str(), OpenFlags);
- if (Fd == -1) return error_code(errno, posix_category());
- return success;
+
+ int OpenFlags = O_RDONLY;
+#ifdef O_BINARY
+ OpenFlags |= O_BINARY; // Open input file in binary mode on win32.
+#endif
+ Fd = ::open(Filename.c_str(), OpenFlags);
+ if (Fd == -1)
+ return error_code(errno, posix_category());
+ return error_code();
}
};
@@ -87,8 +87,7 @@ namespace llvm {
DataStreamer *getDataFileStreamer(const std::string &Filename,
std::string *StrError) {
DataFileStreamer *s = new DataFileStreamer();
- error_code e = s->OpenFile(Filename);
- if (e != success) {
+ if (error_code e = s->OpenFile(Filename)) {
*StrError = std::string("Could not open ") + Filename + ": " +
e.message() + "\n";
return NULL;