diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2013-07-16 19:44:17 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2013-07-16 19:44:17 +0000 |
commit | c1b49b56d4132efa2e06deb8f23508d0de4c8800 (patch) | |
tree | ac30ab59f60f12465f5b7ffd0823b08a711770e8 /lib/Support/MemoryBuffer.cpp | |
parent | 1a9c39e52a2b1ce474dec773e77d12ae4c335a71 (diff) | |
download | external_llvm-c1b49b56d4132efa2e06deb8f23508d0de4c8800.tar.gz external_llvm-c1b49b56d4132efa2e06deb8f23508d0de4c8800.tar.bz2 external_llvm-c1b49b56d4132efa2e06deb8f23508d0de4c8800.zip |
Add a wrapper for open.
This centralizes the handling of O_BINARY and opens the way for hiding more
differences (like how open behaves with directories).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186447 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support/MemoryBuffer.cpp')
-rw-r--r-- | lib/Support/MemoryBuffer.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/lib/Support/MemoryBuffer.cpp b/lib/Support/MemoryBuffer.cpp index a7553d1c96..be1d9c7874 100644 --- a/lib/Support/MemoryBuffer.cpp +++ b/lib/Support/MemoryBuffer.cpp @@ -41,7 +41,6 @@ #define S_ISBLK(x) (0) #endif #endif -#include <fcntl.h> using namespace llvm; //===----------------------------------------------------------------------===// @@ -253,13 +252,10 @@ error_code MemoryBuffer::getFile(const char *Filename, OwningPtr<MemoryBuffer> &result, int64_t FileSize, bool RequiresNullTerminator) { - int OpenFlags = O_RDONLY; -#ifdef O_BINARY - OpenFlags |= O_BINARY; // Open input file in binary mode on win32. -#endif - int FD = ::open(Filename, OpenFlags); - if (FD == -1) - return error_code(errno, posix_category()); + int FD; + error_code EC = sys::fs::openFileForRead(Filename, FD); + if (EC) + return EC; error_code ret = getOpenFile(FD, Filename, result, FileSize, FileSize, 0, RequiresNullTerminator); |