Escape new line and tabs in the result of variable evaluation.

Expression evaluation error messages may have embedded new lines
and tabs. These should be escaped in the result string.

Patch by paulmaybee. Reviewed in http://reviews.llvm.org/D11570.

llvm-svn: 243741
This commit is contained in:
Hafiz Abid Qadeer 2015-07-31 09:24:39 +00:00
parent 923906a600
commit 311d08f8de
2 changed files with 2 additions and 2 deletions

View File

@ -33,7 +33,7 @@ class MiVarTestCase(lldbmi_testcase.MiTestCaseBase):
# Print non-existant variable
self.runCmd("-var-create var1 * undef")
self.expect("\^error,msg=\"error: error: use of undeclared identifier \'undef\'\s+error: 1 errors parsing expression\"")
self.expect("\^error,msg=\"error: error: use of undeclared identifier \'undef\'\\\\nerror: 1 errors parsing expression\\\\n\"")
self.runCmd("-data-evaluate-expression undef")
self.expect("\^error,msg=\"Could not evaluate expression\"")

View File

@ -255,7 +255,7 @@ CMICmdCmdVarCreate::Acknowledge(void)
CMIUtilString strErrMsg(m_strValue);
if (m_strValue.empty())
strErrMsg = CMIUtilString::Format(MIRSRC(IDS_CMD_ERR_VARIABLE_CREATION_FAILED), m_strExpression.c_str());
const CMICmnMIValueConst miValueConst(strErrMsg);
const CMICmnMIValueConst miValueConst(strErrMsg.Escape(true /* vbEscapeQuotes */));
CMICmnMIValueResult miValueResult("msg", miValueConst);
const CMICmnMIResultRecord miRecordResult(m_cmdData.strMiCmdToken, CMICmnMIResultRecord::eResultClass_Error, miValueResult);
m_miResultRecord = miRecordResult;