Add local function to clear input.

This commit is contained in:
BDisp
2024-11-17 21:31:31 +00:00
parent 1ea9ae0b65
commit 99350b7576

View File

@@ -121,10 +121,8 @@ internal class WindowsConsole
readingSequence = false;
raisedResponse = true;
seqReqStatus.AnsiRequest.RaiseResponseFromInput (ansiSequence.ToString (), seqReqStatus.AnsiRequest);
// Clear the terminator for not be enqueued
inputRecord = default (InputRecord);
// Clear numberEventsRead to not exit
numberEventsRead = 0;
ClearInputRecord ();
// Clear the ansiSequence to avoid insert another Esc character
ansiSequence.Clear ();
}
@@ -146,8 +144,7 @@ internal class WindowsConsole
lock (seqReqStatus!.AnsiRequest._responseLock)
{
seqReqStatus.AnsiRequest.RaiseResponseFromInput (ansiSequence.ToString (), seqReqStatus.AnsiRequest);
// Clear the terminator for not be enqueued
inputRecord = default (InputRecord);
ClearInputRecord();
}
_retries = 0;
@@ -163,8 +160,7 @@ internal class WindowsConsole
AnsiEscapeSequenceRequests.Statuses.TryDequeue (out _);
seqReqStatus.AnsiRequest.RaiseResponseFromInput (null, seqReqStatus.AnsiRequest);
// Clear the terminator for not be enqueued
inputRecord = default (InputRecord);
ClearInputRecord();
}
}
@@ -209,6 +205,15 @@ internal class WindowsConsole
}
return null;
void ClearInputRecord ()
{
// Clear the terminator for not be enqueued
inputRecord = default (InputRecord);
// Clear numberEventsRead to not exit
numberEventsRead = 0;
}
}
internal bool _forceRead;