Author: xbolva00 Date: Mon Sep 3 07:59:57 2018 New Revision: 341320 URL: http://llvm.org/viewvc/llvm-project?rev=341320&view=rev Log: [PseudoTerminal][NFC] Use llvm errno helpers
Summary: LLVM provide (str)errno helpers, so convert code to use it. Also fixes warning: /home/xbolva00/LLVM/llvm/tools/lldb/source/Host/common/PseudoTerminal.cpp:248:25: warning: ignoring return value of ‘char* strerror_r(int, char*, size_t)’, declared with attribute warn_unused_result [-Wunused-result] ::strerror_r(errno, error_str, error_len); Reviewers: JDevlieghere Reviewed By: JDevlieghere Subscribers: abidh, lldb-commits Differential Revision: https://reviews.llvm.org/D51591 Modified: lldb/trunk/source/Host/common/PseudoTerminal.cpp Modified: lldb/trunk/source/Host/common/PseudoTerminal.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/common/PseudoTerminal.cpp?rev=341320&r1=341319&r2=341320&view=diff ============================================================================== --- lldb/trunk/source/Host/common/PseudoTerminal.cpp (original) +++ lldb/trunk/source/Host/common/PseudoTerminal.cpp Mon Sep 3 07:59:57 2018 @@ -10,7 +10,8 @@ #include "lldb/Host/PseudoTerminal.h" #include "lldb/Host/Config.h" -#include <errno.h> +#include "llvm/Support/Errno.h" + #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -27,6 +28,14 @@ int posix_openpt(int flags); using namespace lldb_private; //---------------------------------------------------------------------- +// Write string describing error number +//---------------------------------------------------------------------- +static void ErrnoToStr(char *error_str, size_t error_len) { + std::string strerror = llvm::sys::StrError(); + ::snprintf(error_str, error_len, "%s", strerror.c_str()); +} + +//---------------------------------------------------------------------- // PseudoTerminal constructor //---------------------------------------------------------------------- PseudoTerminal::PseudoTerminal() @@ -88,14 +97,14 @@ bool PseudoTerminal::OpenFirstAvailableM m_master_fd = ::posix_openpt(oflag); if (m_master_fd < 0) { if (error_str) - ::strerror_r(errno, error_str, error_len); + ErrnoToStr(error_str, error_len); return false; } // Grant access to the slave pseudo terminal if (::grantpt(m_master_fd) < 0) { if (error_str) - ::strerror_r(errno, error_str, error_len); + ErrnoToStr(error_str, error_len); CloseMasterFileDescriptor(); return false; } @@ -103,7 +112,7 @@ bool PseudoTerminal::OpenFirstAvailableM // Clear the lock flag on the slave pseudo terminal if (::unlockpt(m_master_fd) < 0) { if (error_str) - ::strerror_r(errno, error_str, error_len); + ErrnoToStr(error_str, error_len); CloseMasterFileDescriptor(); return false; } @@ -143,7 +152,7 @@ bool PseudoTerminal::OpenSlave(int oflag if (m_slave_fd < 0) { if (error_str) - ::strerror_r(errno, error_str, error_len); + ErrnoToStr(error_str, error_len); return false; } @@ -175,7 +184,7 @@ const char *PseudoTerminal::GetSlaveName const char *slave_name = ::ptsname(m_master_fd); if (error_str && slave_name == nullptr) - ::strerror_r(errno, error_str, error_len); + ErrnoToStr(error_str, error_len); return slave_name; } @@ -213,7 +222,7 @@ lldb::pid_t PseudoTerminal::Fork(char *e if (pid < 0) { // Fork failed if (error_str) - ::strerror_r(errno, error_str, error_len); + ErrnoToStr(error_str, error_len); } else if (pid == 0) { // Child Process ::setsid(); @@ -229,23 +238,23 @@ lldb::pid_t PseudoTerminal::Fork(char *e // Acquire the controlling terminal if (::ioctl(m_slave_fd, TIOCSCTTY, (char *)0) < 0) { if (error_str) - ::strerror_r(errno, error_str, error_len); + ErrnoToStr(error_str, error_len); } #endif // Duplicate all stdio file descriptors to the slave pseudo terminal if (::dup2(m_slave_fd, STDIN_FILENO) != STDIN_FILENO) { if (error_str && !error_str[0]) - ::strerror_r(errno, error_str, error_len); + ErrnoToStr(error_str, error_len); } if (::dup2(m_slave_fd, STDOUT_FILENO) != STDOUT_FILENO) { if (error_str && !error_str[0]) - ::strerror_r(errno, error_str, error_len); + ErrnoToStr(error_str, error_len); } if (::dup2(m_slave_fd, STDERR_FILENO) != STDERR_FILENO) { if (error_str && !error_str[0]) - ::strerror_r(errno, error_str, error_len); + ErrnoToStr(error_str, error_len); } } } else { _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits