Revers the change after reboot it did carcgh for me hole time.
authorMagnus Olsen <magnus@greatlord.com>
Sun, 4 Sep 2005 11:31:54 +0000 (11:31 +0000)
committerMagnus Olsen <magnus@greatlord.com>
Sun, 4 Sep 2005 11:31:54 +0000 (11:31 +0000)
svn path=/trunk/; revision=17633

reactos/subsys/system/cmd/cmd.c
reactos/subsys/system/cmd/cmd.h
reactos/subsys/system/cmd/cmdinput.c

index 32dcb6c..1ca8635 100644 (file)
@@ -1037,14 +1037,13 @@ static INT
 ProcessInput (BOOL bFlag)
 {
        TCHAR commandline[CMDLINE_LENGTH];
-       TCHAR *readline = NULL;
+       TCHAR readline[CMDLINE_LENGTH];
        LPTSTR tp = NULL;
        LPTSTR ip;
        LPTSTR cp;
        BOOL bEchoThisLine;
-   
-    readline = malloc(CMDLINE_LENGTH * sizeof(TCHAR));
 
        do
        {
                /* if no batch input then... */
@@ -1053,7 +1052,7 @@ ProcessInput (BOOL bFlag)
                        if (bFlag)
                                return 0;
 
-                       readline = ReadCommand (readline, CMDLINE_LENGTH);
+                       ReadCommand (readline, CMDLINE_LENGTH);
                        ip = readline;
                        bEchoThisLine = FALSE;
                }
index 19b5bb4..c3dea18 100644 (file)
@@ -106,7 +106,7 @@ extern HANDLE CMD_ModuleHandle;
 
 
 /* Prototypes for CMDINPUT.C */
-TCHAR * ReadCommand (LPTSTR, INT);
+VOID ReadCommand (LPTSTR, INT);
 
 
 /* Prototypes for CMDTABLE.C */
index 872c08b..d48a6b3 100644 (file)
@@ -124,7 +124,7 @@ ClearCommandLine (LPTSTR str, INT maxlen, SHORT orgx, SHORT orgy)
 
 
 /* read in a command line */
-TCHAR * ReadCommand (LPTSTR str, INT maxlen)
+VOID ReadCommand (LPTSTR str, INT maxlen)
 {
        SHORT orgx;                     /* origin x/y */
        SHORT orgy;
@@ -508,15 +508,10 @@ TCHAR * ReadCommand (LPTSTR str, INT maxlen)
                        default:
 #ifdef _UNICODE
                                ch = ir.Event.KeyEvent.uChar.UnicodeChar;
-                               charcount ++;
-                               str = realloc(str, charcount);
-
-                               if ((ch >= 32 && ch <= 255))
+                               if ((ch >= 32 && ch <= 255) && (charcount != (maxlen - 2)))
 #else
-                               ch = ir.Event.KeyEvent.uChar.AsciiChar;                         
-                               str = realloc(str, 2 + current * sizeof(TCHAR));                                
-
-                               if ((UCHAR)ch >= 32 )
+                               ch = ir.Event.KeyEvent.uChar.AsciiChar;
+                               if ((UCHAR)ch >= 32 && (charcount != (maxlen - 2)))
 #endif /* _UNICODE */
                                {
                                        /* insert character into string... */
@@ -525,8 +520,6 @@ TCHAR * ReadCommand (LPTSTR str, INT maxlen)
                                                /* If this character insertion will cause screen scrolling,
                                                 * adjust the saved origin of the command prompt. */
                                                tempscreen = _tcslen(str + current) + curx;
-                                                   str = realloc(str, tempscreen * sizeof(TCHAR));
-
                                                if ((tempscreen % maxx) == (maxx - 1) &&
                                                    (tempscreen / maxx) + cury == (maxy - 1))
                                                {
@@ -534,8 +527,6 @@ TCHAR * ReadCommand (LPTSTR str, INT maxlen)
                                                        cury--;
                                                }
 
-                                               
-
                                                for (count = charcount; count > current; count--)
                                                        str[count] = str[count - 1];
                                                str[current++] = ch;
@@ -579,6 +570,4 @@ TCHAR * ReadCommand (LPTSTR str, INT maxlen)
        while (ir.Event.KeyEvent.wVirtualKeyCode != VK_RETURN);
 
        SetCursorType (bInsert, TRUE);
-
-       return str;
 }