If treat a backspace more like a normal char.

svn path=/trunk/; revision=22283
This commit is contained in:
Brandon Turner 2006-06-08 13:07:05 +00:00
parent 3545fe53f7
commit d372aa6165

View file

@ -613,13 +613,14 @@ CSR_API(CsrReadConsole)
i -= 2; /* if we already have something to return, just back it up by 2 */ i -= 2; /* if we already have something to return, just back it up by 2 */
} }
else else
{ /* otherwise, return STATUS_NOTIFY_CLEANUP to tell client to back up its buffer */ {
/* otherwise, we will treat the backspace just like any other char and let the client decide what to do */
Console->WaitingChars--; Console->WaitingChars--;
ConioUnlockConsole(Console); ConioUnlockConsole(Console);
HeapFree(Win32CsrApiHeap, 0, Input); HeapFree(Win32CsrApiHeap, 0, Input);
Request->Data.ReadConsoleRequest.NrCharactersRead = 0; Request->Data.ReadConsoleRequest.NrCharactersRead++;
Request->Status = STATUS_NOTIFY_CLEANUP; Buffer[i] = Input->InputEvent.Event.KeyEvent.uChar.AsciiChar;
return STATUS_NOTIFY_CLEANUP; return Request->Status;
} }
Request->Data.ReadConsoleRequest.nCharsCanBeDeleted--; Request->Data.ReadConsoleRequest.nCharsCanBeDeleted--;
Input->Echoed = TRUE; /* mark as echoed so we don't echo it below */ Input->Echoed = TRUE; /* mark as echoed so we don't echo it below */