diff options
| -rw-r--r-- | lldb/include/lldb/Target/UnixSignals.h | 8 | ||||
| -rw-r--r-- | lldb/source/Target/UnixSignals.cpp | 69 | 
2 files changed, 25 insertions, 52 deletions
diff --git a/lldb/include/lldb/Target/UnixSignals.h b/lldb/include/lldb/Target/UnixSignals.h index 8cecde8c177..3e13438c511 100644 --- a/lldb/include/lldb/Target/UnixSignals.h +++ b/lldb/include/lldb/Target/UnixSignals.h @@ -130,14 +130,6 @@ protected:          ~Signal () {}      }; -    Signal * -    GetSignalByName (const char *name, -                     int32_t &signo); - -    const Signal * -    GetSignalByName (const char *name, -                     int32_t &signo) const; -      void      Reset (); diff --git a/lldb/source/Target/UnixSignals.cpp b/lldb/source/Target/UnixSignals.cpp index c7bb40e8fba..de3dfec1bbd 100644 --- a/lldb/source/Target/UnixSignals.cpp +++ b/lldb/source/Target/UnixSignals.cpp @@ -13,6 +13,7 @@  // C++ Includes  // Other libraries and framework includes  // Project includes +#include "lldb/Interpreter/Args.h"  using namespace lldb_private; @@ -117,41 +118,6 @@ UnixSignals::RemoveSignal (int signo)          m_signals.erase (pos);  } -UnixSignals::Signal * -UnixSignals::GetSignalByName (const char *name, int32_t &signo) -{ -    ConstString const_name (name); - -    collection::iterator pos, end = m_signals.end (); -    for (pos = m_signals.begin (); pos != end; pos++) -    { -        if ((const_name == pos->second.m_name) || (const_name == pos->second.m_short_name)) -        { -            signo = pos->first; -            return &pos->second; -        } -    } -    return NULL; -} - - -const UnixSignals::Signal * -UnixSignals::GetSignalByName (const char *name, int32_t &signo) const -{ -    ConstString const_name (name); - -    collection::const_iterator pos, end = m_signals.end (); -    for (pos = m_signals.begin (); pos != end; pos++) -    { -        if (const_name == pos->second.m_name) -        { -            signo = pos->first; -            return &(pos->second); -        } -    } -    return NULL; -} -  const char *  UnixSignals::GetSignalAsCString (int signo) const  { @@ -173,12 +139,19 @@ UnixSignals::SignalIsValid (int32_t signo) const  int32_t  UnixSignals::GetSignalNumberFromName (const char *name) const  { -    int32_t signo; -    const Signal *signal = GetSignalByName (name, signo); -    if (signal == NULL) -        return LLDB_INVALID_SIGNAL_NUMBER; -    else +    ConstString const_name (name); + +    collection::const_iterator pos, end = m_signals.end (); +    for (pos = m_signals.begin (); pos != end; pos++) +    { +        if ((const_name == pos->second.m_name) || (const_name == pos->second.m_short_name)) +            return pos->first; +    } +     +    const int32_t signo = Args::StringToSInt32(name, LLDB_INVALID_SIGNAL_NUMBER, 0); +    if (signo != LLDB_INVALID_SIGNAL_NUMBER)          return signo; +    return LLDB_INVALID_SIGNAL_NUMBER;  }  int32_t @@ -253,7 +226,10 @@ UnixSignals::SetShouldSuppress (int signo, bool value)  bool  UnixSignals::SetShouldSuppress (const char *signal_name, bool value)  { -    return SetShouldSuppress (GetSignalNumberFromName (signal_name), value); +    const int32_t signo = GetSignalNumberFromName (signal_name); +    if (signo != LLDB_INVALID_SIGNAL_NUMBER) +        return SetShouldSuppress (signo, value); +    return false;  }  bool @@ -280,7 +256,10 @@ UnixSignals::SetShouldStop (int signo, bool value)  bool  UnixSignals::SetShouldStop (const char *signal_name, bool value)  { -    return SetShouldStop (GetSignalNumberFromName (signal_name), value); +    const int32_t signo = GetSignalNumberFromName (signal_name); +    if (signo != LLDB_INVALID_SIGNAL_NUMBER) +        return SetShouldStop (signo, value); +    return false;  }  bool @@ -307,6 +286,8 @@ UnixSignals::SetShouldNotify (int signo, bool value)  bool  UnixSignals::SetShouldNotify (const char *signal_name, bool value)  { -    return SetShouldNotify (GetSignalNumberFromName (signal_name), value); +    const int32_t signo = GetSignalNumberFromName (signal_name); +    if (signo != LLDB_INVALID_SIGNAL_NUMBER) +        return SetShouldNotify (signo, value); +    return false;  } -  | 

