diff options
Diffstat (limited to 'source/Target/FileAction.cpp')
-rw-r--r-- | source/Target/FileAction.cpp | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/source/Target/FileAction.cpp b/source/Target/FileAction.cpp deleted file mode 100644 index c9cc325b5a53..000000000000 --- a/source/Target/FileAction.cpp +++ /dev/null @@ -1,91 +0,0 @@ -//===-- FileAction.cpp ------------------------------------------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#include <fcntl.h> - -#include "lldb/Host/PosixApi.h" -#include "lldb/Target/FileAction.h" -#include "lldb/Utility/Stream.h" - -using namespace lldb_private; - -//---------------------------------------------------------------------------- -// FileAction member functions -//---------------------------------------------------------------------------- - -FileAction::FileAction() - : m_action(eFileActionNone), m_fd(-1), m_arg(-1), m_file_spec() {} - -void FileAction::Clear() { - m_action = eFileActionNone; - m_fd = -1; - m_arg = -1; - m_file_spec.Clear(); -} - -llvm::StringRef FileAction::GetPath() const { return m_file_spec.GetCString(); } - -const FileSpec &FileAction::GetFileSpec() const { return m_file_spec; } - -bool FileAction::Open(int fd, const FileSpec &file_spec, bool read, - bool write) { - if ((read || write) && fd >= 0 && file_spec) { - m_action = eFileActionOpen; - m_fd = fd; - if (read && write) - m_arg = O_NOCTTY | O_CREAT | O_RDWR; - else if (read) - m_arg = O_NOCTTY | O_RDONLY; - else - m_arg = O_NOCTTY | O_CREAT | O_WRONLY; - m_file_spec = file_spec; - return true; - } else { - Clear(); - } - return false; -} - -bool FileAction::Close(int fd) { - Clear(); - if (fd >= 0) { - m_action = eFileActionClose; - m_fd = fd; - } - return m_fd >= 0; -} - -bool FileAction::Duplicate(int fd, int dup_fd) { - Clear(); - if (fd >= 0 && dup_fd >= 0) { - m_action = eFileActionDuplicate; - m_fd = fd; - m_arg = dup_fd; - } - return m_fd >= 0; -} - -void FileAction::Dump(Stream &stream) const { - stream.PutCString("file action: "); - switch (m_action) { - case eFileActionClose: - stream.Printf("close fd %d", m_fd); - break; - case eFileActionDuplicate: - stream.Printf("duplicate fd %d to %d", m_fd, m_arg); - break; - case eFileActionNone: - stream.PutCString("no action"); - break; - case eFileActionOpen: - stream.Printf("open fd %d with '%s', OFLAGS = 0x%x", m_fd, - m_file_spec.GetCString(), m_arg); - break; - } -} |