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 | 6d35481c94ae2a4118547c93f8f27bd18afa5d93 (patch) | |
tree | ed7a437e24480b3cfd193bd2fbaf0e874e751a66 /llvm/lib/Support/MemoryBuffer.cpp | |
parent | 7987088a8ab4c30ce3327bcf2ace53f4b24f133c (diff) | |
download | llvm-6d35481c94ae2a4118547c93f8f27bd18afa5d93.zip llvm-6d35481c94ae2a4118547c93f8f27bd18afa5d93.tar.gz llvm-6d35481c94ae2a4118547c93f8f27bd18afa5d93.tar.bz2 |
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).
llvm-svn: 186447
Diffstat (limited to 'llvm/lib/Support/MemoryBuffer.cpp')
-rw-r--r-- | llvm/lib/Support/MemoryBuffer.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/llvm/lib/Support/MemoryBuffer.cpp b/llvm/lib/Support/MemoryBuffer.cpp index a7553d1..be1d9c78 100644 --- a/llvm/lib/Support/MemoryBuffer.cpp +++ b/llvm/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); |