Skip to content

Commit 80a4800

Browse files
Change whitespace characters to space (#1231)
* Change whitepace characters to space * Only change end-of-line chars Co-authored-by: Andrew Wang <waan@microsoft.com>
1 parent d185b09 commit 80a4800

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

src/MICore/CommandFactories/MICommandFactory.cs

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,7 @@ public virtual Task<bool> SetStepFiltering(bool enabled)
332332
// Calls to VarCreate will change the current debugger thread and frame selection to what is passed in. This is because it needs to be queried in the context of a thread/frame id.
333333
public virtual async Task<Results> VarCreate(string expression, int threadId, uint frameLevel, enum_EVALFLAGS dwFlags, ResultClass resultClass = ResultClass.done)
334334
{
335-
string quoteEscapedExpression = EscapeQuotes(expression);
335+
string quoteEscapedExpression = EscapeQuotes(HandleInvalidChars(expression));
336336
string command = string.Format(CultureInfo.InvariantCulture, "-var-create - * \"{0}\"", quoteEscapedExpression);
337337
Results results = await ThreadFrameCmdAsync(command, resultClass, threadId, frameLevel);
338338

@@ -366,7 +366,8 @@ public async Task<Results> VarEvaluateExpression(string variableName, ResultClas
366366

367367
public virtual async Task<string> VarAssign(string variableName, string expression, int threadId, uint frameLevel)
368368
{
369-
string command = string.Format(CultureInfo.InvariantCulture, "-var-assign {0} \"{1}\"", variableName, expression);
369+
string quoteEscapedExpression = EscapeQuotes(HandleInvalidChars(expression));
370+
string command = string.Format(CultureInfo.InvariantCulture, "-var-assign {0} \"{1}\"", variableName, quoteEscapedExpression);
370371
Results results = await _debugger.CmdAsync(command, ResultClass.done);
371372
return results.FindString("value");
372373
}
@@ -618,6 +619,18 @@ internal string EscapeQuotes(string str)
618619
return str.Replace("\"", "\\\"");
619620
}
620621

622+
internal string HandleInvalidChars(string str)
623+
{
624+
char[] invalidChars = { '\r', '\n' };
625+
StringBuilder builder = new StringBuilder();
626+
foreach (char c in str)
627+
{
628+
629+
builder.Append(invalidChars.Contains(c) ? ' ' : c);
630+
}
631+
return builder.ToString();
632+
}
633+
621634
#endregion
622635

623636
#region Other

0 commit comments

Comments
 (0)