diff options
author | Chris Lattner <sabre@nondot.org> | 2003-12-29 21:35:05 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-12-29 21:35:05 +0000 |
commit | 2d6481cc2a168c4a867f8046119607f72552ef31 (patch) | |
tree | 36f57f499b30326aab5c8aef51b8275d167b3011 /lib/Support/FileUtilities.cpp | |
parent | 872ccce0a801930aa370f8d161ceb9d6b1a3bdae (diff) |
Factor FDHandle out of the bytecode reader into the FileUtilities.h support
routines.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10642 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Support/FileUtilities.cpp')
-rw-r--r-- | lib/Support/FileUtilities.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/Support/FileUtilities.cpp b/lib/Support/FileUtilities.cpp index e6abc8fb40..02b4edd557 100644 --- a/lib/Support/FileUtilities.cpp +++ b/lib/Support/FileUtilities.cpp @@ -194,3 +194,26 @@ bool llvm::MakeFileExecutable(const std::string &Filename) { bool llvm::MakeFileReadable(const std::string &Filename) { return AddPermissionsBits(Filename, 0444); } + +//===----------------------------------------------------------------------===// +// FDHandle class implementation +// + +FDHandle::~FDHandle() { + if (FD != -1) close(FD); +} + +FDHandle &FDHandle::operator=(int fd) { + if (FD != -1) close(FD); + FD = fd; + return *this; +} + + +/// take - Take ownership of the file descriptor away from the FDHandle +/// object, so that the file is not closed when the FDHandle is destroyed. +int FDHandle::take() { + int Ret = FD; + FD = -1; + return Ret; +} |