remove some hardcode buffer value. The dymatic buffer does not work yet, until all CMDLINE_LENGTH are remove.
Modified: trunk/reactos/subsys/system/cmd/bugs.txt
Modified: trunk/reactos/subsys/system/cmd/cmd.c
Modified: trunk/reactos/subsys/system/cmd/cmd.h
Modified: trunk/reactos/subsys/system/cmd/cmdinput.c

Modified: trunk/reactos/subsys/system/cmd/bugs.txt
--- trunk/reactos/subsys/system/cmd/bugs.txt	2005-09-04 11:17:37 UTC (rev 17630)
+++ trunk/reactos/subsys/system/cmd/bugs.txt	2005-09-04 11:18:39 UTC (rev 17631)
@@ -11,5 +11,12 @@
 
 o  "alias v = dir" doesn't work because of the spaces.
 
+o  Dymatic commandline buffer need to be implement, current set to 8192bytes  
 
+o  Batchfile read row size need to be implement as dymatic not set to 2000bytes
+
+  
+
+
+
          ****  Please report bugs to ekohl@rz-online.de!  ****

Modified: trunk/reactos/subsys/system/cmd/cmd.c
--- trunk/reactos/subsys/system/cmd/cmd.c	2005-09-04 11:17:37 UTC (rev 17630)
+++ trunk/reactos/subsys/system/cmd/cmd.c	2005-09-04 11:18:39 UTC (rev 17631)
@@ -1037,13 +1037,14 @@
 ProcessInput (BOOL bFlag)
 {
 	TCHAR commandline[CMDLINE_LENGTH];
-	TCHAR readline[CMDLINE_LENGTH];
+	TCHAR *readline = NULL;
 	LPTSTR tp = NULL;
 	LPTSTR ip;
 	LPTSTR cp;
 	BOOL bEchoThisLine;
+   
+    readline = malloc(CMDLINE_LENGTH * sizeof(TCHAR));
 
-
 	do
 	{
 		/* if no batch input then... */
@@ -1052,7 +1053,7 @@
 			if (bFlag)
 				return 0;
 
-			ReadCommand (readline, CMDLINE_LENGTH);
+			readline = ReadCommand (readline, CMDLINE_LENGTH);
 			ip = readline;
 			bEchoThisLine = FALSE;
 		}

Modified: trunk/reactos/subsys/system/cmd/cmd.h
--- trunk/reactos/subsys/system/cmd/cmd.h	2005-09-04 11:17:37 UTC (rev 17630)
+++ trunk/reactos/subsys/system/cmd/cmd.h	2005-09-04 11:18:39 UTC (rev 17631)
@@ -106,7 +106,7 @@
 
 
 /* Prototypes for CMDINPUT.C */
-VOID ReadCommand (LPTSTR, INT);
+TCHAR * ReadCommand (LPTSTR, INT);
 
 
 /* Prototypes for CMDTABLE.C */

Modified: trunk/reactos/subsys/system/cmd/cmdinput.c
--- trunk/reactos/subsys/system/cmd/cmdinput.c	2005-09-04 11:17:37 UTC (rev 17630)
+++ trunk/reactos/subsys/system/cmd/cmdinput.c	2005-09-04 11:18:39 UTC (rev 17631)
@@ -124,7 +124,7 @@
 
 
 /* read in a command line */
-VOID ReadCommand (LPTSTR str, INT maxlen)
+TCHAR * ReadCommand (LPTSTR str, INT maxlen)
 {
 	SHORT orgx;			/* origin x/y */
 	SHORT orgy;
@@ -508,10 +508,15 @@
 			default:
 #ifdef _UNICODE
 				ch = ir.Event.KeyEvent.uChar.UnicodeChar;
-				if ((ch >= 32 && ch <= 255) && (charcount != (maxlen - 2)))
+				charcount ++;
+				str = realloc(str, charcount);
+
+				if ((ch >= 32 && ch <= 255))
 #else
-				ch = ir.Event.KeyEvent.uChar.AsciiChar;
-				if ((UCHAR)ch >= 32 && (charcount != (maxlen - 2)))
+				ch = ir.Event.KeyEvent.uChar.AsciiChar;				
+				str = realloc(str, 2 + current * sizeof(TCHAR));				
+
+				if ((UCHAR)ch >= 32 )
 #endif /* _UNICODE */
 				{
 					/* insert character into string... */
@@ -520,6 +525,8 @@
 					        /* 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))
 						{
@@ -527,6 +534,8 @@
 							cury--;
 						}
 
+						
+
 						for (count = charcount; count > current; count--)
 							str[count] = str[count - 1];
 						str[current++] = ch;
@@ -570,4 +579,6 @@
 	while (ir.Event.KeyEvent.wVirtualKeyCode != VK_RETURN);
 
 	SetCursorType (bInsert, TRUE);
+
+	return str;
 }