Author: jmorlan
Date: Wed Apr 1 07:54:45 2009
New Revision: 40311
URL:
http://svn.reactos.org/svn/reactos?rev=40311&view=rev
Log:
- Fix cmd's cgetchar() function so it only returns on a key being pressed, not
released.
- Remove ConInDummy function that was called after a line is input. Presumably its purpose
was to consume the event of Enter being released, so that that event wouldn't affect
the command, but that didn't help when other keys were pressed as well. Anyway, it
shouldn't be necessary any more.
- Use correct codepage for reading batch files.
Modified:
trunk/reactos/base/shell/cmd/cmdinput.c
trunk/reactos/base/shell/cmd/console.c
trunk/reactos/base/shell/cmd/misc.c
Modified: trunk/reactos/base/shell/cmd/cmdinput.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/cmdinput.c?…
==============================================================================
--- trunk/reactos/base/shell/cmd/cmdinput.c [iso-8859-1] (original)
+++ trunk/reactos/base/shell/cmd/cmdinput.c [iso-8859-1] Wed Apr 1 07:54:45 2009
@@ -449,7 +449,6 @@
#endif
str[charcount++] = _T('\n');
str[charcount] = _T('\0');
- ConInDummy ();
ConOutChar (_T('\n'));
bReturn = TRUE;
break;
Modified: trunk/reactos/base/shell/cmd/console.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/console.c?r…
==============================================================================
--- trunk/reactos/base/shell/cmd/console.c [iso-8859-1] (original)
+++ trunk/reactos/base/shell/cmd/console.c [iso-8859-1] Wed Apr 1 07:54:45 2009
@@ -48,17 +48,6 @@
SetConsoleMode (hInput, dwMode);
}
-
-VOID ConInDummy (VOID)
-{
- HANDLE hInput = GetStdHandle (STD_INPUT_HANDLE);
- INPUT_RECORD dummy;
- DWORD dwRead;
-
- if (hInput == INVALID_HANDLE_VALUE)
- WARN ("Invalid input handle!!!\n");
- ReadConsoleInput (hInput, &dummy, 1, &dwRead);
-}
VOID ConInFlush (VOID)
{
Modified: trunk/reactos/base/shell/cmd/misc.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/shell/cmd/misc.c?rev=…
==============================================================================
--- trunk/reactos/base/shell/cmd/misc.c [iso-8859-1] (original)
+++ trunk/reactos/base/shell/cmd/misc.c [iso-8859-1] Wed Apr 1 07:54:45 2009
@@ -43,39 +43,20 @@
HANDLE hInput = GetStdHandle (STD_INPUT_HANDLE);
INPUT_RECORD irBuffer;
DWORD dwRead;
-/*
+
do
{
ReadConsoleInput (hInput, &irBuffer, 1, &dwRead);
if ((irBuffer.EventType == KEY_EVENT) &&
(irBuffer.Event.KeyEvent.bKeyDown == TRUE))
{
- if ((irBuffer.Event.KeyEvent.dwControlKeyState &
- (LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED)) &
- (irBuffer.Event.KeyEvent.wVirtualKeyCode == 'C'))
- bCtrlBreak = TRUE;
-
- break;
- }
- }
- while (TRUE);
-*/
- do
- {
- ReadConsoleInput (hInput, &irBuffer, 1, &dwRead);
-
- if (irBuffer.EventType == KEY_EVENT)
- {
if (irBuffer.Event.KeyEvent.dwControlKeyState &
(LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED))
{
if (irBuffer.Event.KeyEvent.wVirtualKeyCode == 'C')
{
-// if (irBuffer.Event.KeyEvent.bKeyDown == TRUE)
-// {
- bCtrlBreak = TRUE;
- break;
-// }
+ bCtrlBreak = TRUE;
+ break;
}
}
else if ((irBuffer.Event.KeyEvent.wVirtualKeyCode == VK_SHIFT) ||
@@ -538,7 +519,7 @@
lpString[len++] = '\0';
#ifdef _UNICODE
- MultiByteToWideChar(CP_ACP, 0, lpString, -1, lpBuffer, len);
+ MultiByteToWideChar(OutputCodePage, 0, lpString, -1, lpBuffer, len);
cmd_free(lpString);
#endif
return TRUE;