aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/MemoryBuffer.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-07-16 19:44:17 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-07-16 19:44:17 +0000
commit6d35481c94ae2a4118547c93f8f27bd18afa5d93 (patch)
treeed7a437e24480b3cfd193bd2fbaf0e874e751a66 /llvm/lib/Support/MemoryBuffer.cpp
parent7987088a8ab4c30ce3327bcf2ace53f4b24f133c (diff)
downloadllvm-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.cpp12
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);