[ros-diffs] [turner] 17469: Fix a CD bug spotted by ravelo_. This is simlair to bug 690. cd foo\"bar", cd "foo"\"bar"" and other of the sorts are all valid.

turner at svn.reactos.com turner at svn.reactos.com
Sun Aug 21 22:44:51 CEST 2005


Fix a CD bug spotted by ravelo_.  This is simlair to bug 690.  cd
foo\"bar", cd "foo"\"bar"" and other of the sorts are all valid.
Modified: trunk/reactos/subsys/system/cmd/internal.c
  _____  

Modified: trunk/reactos/subsys/system/cmd/internal.c
--- trunk/reactos/subsys/system/cmd/internal.c	2005-08-21 19:35:19 UTC
(rev 17468)
+++ trunk/reactos/subsys/system/cmd/internal.c	2005-08-21 20:44:47 UTC
(rev 17469)
@@ -315,19 +315,16 @@

 	/* Get Current Directory */
 	GetRootPath(_T("."),szCurrent,MAX_PATH);
  
-	/* Remove " */
-	if(szPath[0] == _T('\"'))
+   /* Remove " */
+	i = 0;
+	while(i < _tcslen(szPath))
 	{
-		tmpPath = _tcsstr(szPath,_T("\""));
-		tmpPath++;
-		_tcscpy(szPath,tmpPath);
+		if(szPath[i] == _T('\"'))
+			memmove(&szPath[i],&szPath[i + 1],
_tcslen(&szPath[i]) * sizeof(TCHAR));
+		else
+			i++;
 	}
  
-	if(szPath[_tcslen(szPath) - 1] == _T('\"'))
-	{
-		szPath[_tcslen(szPath) - 1] = _T('\0');
-	}
- 
 	tmpPath = szPath;
 	while (_istspace (*tmpPath))
 			tmpPath++;
@@ -339,7 +336,7 @@
 		return 0;
 	}
 	 
- 
+
 	/* change to full path if relative path was given */
 	GetFullPathName(szPath,MAX_PATH,szFinalPath,NULL);
  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-diffs/attachments/20050821/bc082c1c/attachment.html


More information about the Ros-diffs mailing list