diff options
Diffstat (limited to 'tools/lldb-mi/MICmnMIValueList.cpp')
| -rw-r--r-- | tools/lldb-mi/MICmnMIValueList.cpp | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/tools/lldb-mi/MICmnMIValueList.cpp b/tools/lldb-mi/MICmnMIValueList.cpp index 2e6078cbea1f..68eceab09cd2 100644 --- a/tools/lldb-mi/MICmnMIValueList.cpp +++ b/tools/lldb-mi/MICmnMIValueList.cpp @@ -7,18 +7,6 @@ // //===----------------------------------------------------------------------===// -//++ -// File: MICmnMIValueList.h -// -// Overview: CMICmnMIValueList implementation. -// -// Environment: Compilers: Visual C++ 12. -// gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1 -// Libraries: See MIReadmetxt. -// -// Copyright: None. -//-- - // In-house headers: #include "MICmnMIValueList.h" #include "MICmnResources.h" @@ -88,7 +76,7 @@ CMICmnMIValueList::~CMICmnMIValueList(void) bool CMICmnMIValueList::BuildList(void) { - const MIchar *pFormat = "[%s]"; + const char *pFormat = "[%s]"; m_strValue = CMIUtilString::Format(pFormat, m_strValue.c_str()); return MIstatus::success; @@ -148,7 +136,7 @@ CMICmnMIValueList::BuildList(const CMICmnMIValueResult &vResult) } const CMIUtilString data(ExtractContentNoBrackets()); - const MIchar *pFormat = "[%s,%s]"; + const char *pFormat = "[%s,%s]"; m_strValue = CMIUtilString::Format(pFormat, data.c_str(), vResult.GetString().c_str()); return MIstatus::success; @@ -175,9 +163,12 @@ CMICmnMIValueList::BuildList(const CMICmnMIValue &vValue) return BuildList(); } - const MIchar *pFormat = "[%s,%s]"; - m_strValue = m_strValue.FindAndReplace("[", ""); - m_strValue = m_strValue.FindAndReplace("]", ""); + // Remove already present '[' and ']' from the start and end + m_strValue = m_strValue.Trim(); + size_t len = m_strValue.size(); + if ( (len > 1) && (m_strValue[0] == '[') && (m_strValue[len - 1] == ']') ) + m_strValue = m_strValue.substr(1, len - 2); + const char *pFormat = "[%s,%s]"; m_strValue = CMIUtilString::Format(pFormat, m_strValue.c_str(), vValue.GetString().c_str()); return MIstatus::success; |
