Fix copy /B filename + ,            ,  bug (touch) and fix whitespace for copy /B file +         file  + file2 
by Brandon Turner
Modified: trunk/reactos/subsys/system/cmd/copy.c

Modified: trunk/reactos/subsys/system/cmd/copy.c
--- trunk/reactos/subsys/system/cmd/copy.c	2005-07-21 13:55:36 UTC (rev 16678)
+++ trunk/reactos/subsys/system/cmd/copy.c	2005-07-21 14:15:42 UTC (rev 16679)
@@ -518,9 +518,21 @@
 		{
 			/*if it isnt a switch then it is the source or destination*/
 			if(nSrc == -1)
+			{
 				nSrc = i;
+			}
+			else if(*arg[i] == _T('+') || *arg[i] == _T(','))
+			{
+				/* Add these onto the source string
+				   this way we can do all checks
+					directly on source string later on */
+				_tcscat(arg[nSrc],arg[i]);
+				nFiles--;
+			}				
 			else if(nDes == -1)
+			{
 				nDes = i;
+			}
  
 		}
 	}
@@ -842,8 +854,10 @@
 	LoadString(CMD_ModuleHandle, STRING_COPY_FILE, szMsg, RC_STRING_MAX_SIZE);
 	ConOutPrintf(szMsg, nFiles);
 	
-	CloseHandle(hFile);
-	freep (arg);
+	CloseHandle(hFile);		
+  if (arg!=NULL) 
+      free(arg);
+
 	return 0;
 }