[ros-diffs] [greatlrd] 17625: fix type can handler \n at text output thx ravelo for the small patch. see file misc.c. prompt.c fix the szParam so it have a buffer set. and do not use szParam for param, the param length can in future very big. when dymatic buffer be implement at command line.

greatlrd at svn.reactos.com greatlrd at svn.reactos.com
Sat Sep 3 22:00:00 CEST 2005


fix type can handler \n at text output thx ravelo for the small patch.
see file misc.c. prompt.c fix the szParam so it have a buffer set. and
do not use szParam for param, the param length can in future very big.
when dymatic buffer be implement at command line.
Modified: trunk/reactos/subsys/system/cmd/misc.c
Modified: trunk/reactos/subsys/system/cmd/prompt.c
  _____  

Modified: trunk/reactos/subsys/system/cmd/misc.c
--- trunk/reactos/subsys/system/cmd/misc.c	2005-09-03 19:44:47 UTC
(rev 17624)
+++ trunk/reactos/subsys/system/cmd/misc.c	2005-09-03 19:59:51 UTC
(rev 17625)
@@ -381,10 +381,10 @@

 	while ((--nBufferLength >  0) &&
 		   ReadFile(hFile, &ch, 1, &dwRead, NULL) && dwRead)
 	{
-		if (ch == '\r')
+		if ((ch == '\n') || (ch == '\r'))
 		{
-			/* overread '\n' */
-			ReadFile (hFile, &ch, 1, &dwRead, NULL);
+			/* read it*/
+			lpString[len++] = ch;
 			break;
 		}
 		lpString[len++] = ch;
  _____  

Modified: trunk/reactos/subsys/system/cmd/prompt.c
--- trunk/reactos/subsys/system/cmd/prompt.c	2005-09-03 19:44:47 UTC
(rev 17624)
+++ trunk/reactos/subsys/system/cmd/prompt.c	2005-09-03 19:59:51 UTC
(rev 17625)
@@ -192,8 +192,7 @@

 #ifdef INCLUDE_CMD_PROMPT
 
 INT cmd_prompt (LPTSTR cmd, LPTSTR param)
-{	
-	LPTSTR szParam;
+{		
 	if (!_tcsncmp (param, _T("/?"), 2))
 	{
 		ConOutResPaging(TRUE,STRING_PROMPT_HELP1);
@@ -210,15 +209,24 @@
 		so even if param is null you _must_ still set prompt
 		to the default.  There seems to be some kinda difference
between winxp and 2k in this matter and this way will 
-		cover both. */
+		cover both. Do not use fixed size of szParam for param
the buffer are 8192bytes
+		and will later change to dymatic buffer */
+
+	/* set PROMPT environment variable */
 	if (param[0] != _T('\0'))
-		_tcscpy(szParam,param);
+	{
+		if (!SetEnvironmentVariable (_T("PROMPT"), param))
+		return 1;
+	}
 	else
+	{
+		TCHAR szParam[5];
 		_tcscpy(szParam,_T("$P$G"));
+		if (!SetEnvironmentVariable (_T("PROMPT"),szParam))
+		return 1;	
+	}
 
-	/* set PROMPT environment variable */
-	if (!SetEnvironmentVariable (_T("PROMPT"), szParam))
-		return 1;
+	
 			
 	return 0;
 }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-diffs/attachments/20050903/c92f599b/attachment.html


More information about the Ros-diffs mailing list