From 2d6481cc2a168c4a867f8046119607f72552ef31 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 29 Dec 2003 21:35:05 +0000 Subject: 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 --- lib/Support/FileUtilities.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'lib/Support/FileUtilities.cpp') 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; +} -- cgit v1.2.3