fixing bug copy file c: 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-19 23:36:59 UTC (rev 16653) +++ trunk/reactos/subsys/system/cmd/copy.c 2005-07-19 23:44:22 UTC (rev 16654) @@ -37,7 +37,7 @@
COPY_ASCII = 0x001, /* /A */ COPY_DECRYPT = 0x004, /* /D */ COPY_VERIFY = 0x008, /* /V : Dummy, Never will be Impleneted */ - COPY_SHORTNAME = 0x010, /* /N : Not Impleneted */ + COPY_SHORTNAME = 0x010, /* /N : Dummy, Never will be Impleneted */ COPY_NO_PROMPT = 0x020, /* /Y */ COPY_PROMPT = 0x040, /* /-Y */ COPY_RESTART = 0x080, /* /Z */ @@ -526,15 +526,9 @@ /* Set up the string that is the path to the destination */ if(nDes != -1) { - /* Check to make sure if they entered c:, if they do then GFPN - return current directory even though msdn says it will return c:\ */ - if(_tcslen(arg[nDes]) == 2) + if(_tcslen(arg[nDes]) == 2 && arg[nDes][1] == _T(':')) { - if(arg[nDes][1] == _T(':')) - { - _tcscpy (szDestPath, arg[nDes]); - _tcscat (szDestPath, _T("\")); - } + GetRootPath(arg[nDes],szDestPath,MAX_PATH); } else /* If the user entered two file names then form the full string path*/ @@ -552,7 +546,6 @@ /* Get the full string of the path to the source file*/ if(_tcschr (arg[nSrc], _T('+')) != NULL) { - _tcscpy(tmpName,_T("\0")); /* Loop through the source file name and copy all the chars one at a time until it gets too + */ @@ -572,14 +565,13 @@ } /* Finish the string off with a null char */ _tcsncat(tmpName,_T("\0"),1); - /* Check to make sure if they entered c:, if they do then GFPN - return current directory even though msdn says it will return c:\ */ + if(_tcslen(tmpName) == 2) { if(tmpName[1] == _T(':')) { - _tcscpy (szSrcPath, tmpName); - _tcscat (szSrcPath, _T("\")); + + GetRootPath(tmpName,szSrcPath,MAX_PATH); } } else @@ -588,15 +580,9 @@ } else { - /* Check to make sure if they entered c:, if they do then GFPN - return current directory even though msdn says it will return c:\ */ - if(_tcslen(arg[nSrc]) == 2) + if(_tcslen(arg[nSrc]) == 2 && arg[nSrc][1] == _T(':')) { - if(arg[nSrc][1] == _T(':')) - { - _tcscpy (szSrcPath, arg[nSrc]); - _tcscat (szSrcPath, _T("\")); - } + GetRootPath(arg[nSrc],szSrcPath,MAX_PATH); } else /* Get the full path of the source file */