--- trunk/reactos/subsys/system/cmd/del.c 2005-07-30 16:53:09 UTC (rev 16895)
+++ trunk/reactos/subsys/system/cmd/del.c 2005-07-30 18:32:18 UTC (rev 16896)
@@ -385,7 +385,7 @@
for (i = 0; i < args; i++)
{
- /*this checks to see if it isnt a flag, if it isnt, we assume it is a file name*/
+ /*this checks to see if it isnt a flag, if it isnt, we assume it is a file name*/
if((*arg[i] == _T('/')) || (*arg[i] == _T('-')))
continue;
bSubFileFound = FALSE;
@@ -454,175 +454,175 @@
}
- if(_tcschr (AltArg, _T('*')) == NULL &&
- IsExistingDirectory (AltArg))
- {
- /* If it doesnt have a \ at the end already then on needs to be added */
- if(AltArg[_tcslen(AltArg) - 1] != _T('\\'))
- _tcscat (AltArg, _T("\\"));
- /* Add a wildcard after the \ */
- _tcscat (AltArg, _T("*"));
- }
+ if(_tcschr (AltArg, _T('*')) == NULL &&
+ IsExistingDirectory (AltArg))
+ {
+ /* If it doesnt have a \ at the end already then on needs to be added */
+ if(AltArg[_tcslen(AltArg) - 1] != _T('\\'))
+ _tcscat (AltArg, _T("\\"));
+ /* Add a wildcard after the \ */
+ _tcscat (AltArg, _T("*"));
+ }
- if(!_tcscmp (AltArg, _T("*")) ||
- !_tcscmp (AltArg, _T("*.*"))||
- (AltArg[_tcslen(AltArg) - 2] == _T('\\') && AltArg[_tcslen(AltArg) - 1] == _T('*')))
- {
- /*well, the user wants to delete everything but if they didnt yes DEL_YES, DEL_QUIET, or DEL_PROMPT
- then we are going to want to make sure that in fact they want to do that. */
+ if(!_tcscmp (AltArg, _T("*")) ||
+ !_tcscmp (AltArg, _T("*.*"))||
+ (AltArg[_tcslen(AltArg) - 2] == _T('\\') && AltArg[_tcslen(AltArg) - 1] == _T('*')))
+ {
+ /*well, the user wants to delete everything but if they didnt yes DEL_YES, DEL_QUIET, or DEL_PROMPT
+ then we are going to want to make sure that in fact they want to do that. */
- if (!((dwFlags & DEL_YES) || (dwFlags & DEL_QUIET) || (dwFlags & DEL_PROMPT)))
- {
- LoadString( CMD_ModuleHandle, STRING_DEL_HELP2, szMsg, RC_STRING_MAX_SIZE);
+ if (!((dwFlags & DEL_YES) || (dwFlags & DEL_QUIET) || (dwFlags & DEL_PROMPT)))
+ {
+ LoadString( CMD_ModuleHandle, STRING_DEL_HELP2, szMsg, RC_STRING_MAX_SIZE);
- res = FilePromptYNA (szMsg);
- if ((res == PROMPT_NO) || (res == PROMPT_BREAK))
- break;
- if(res == PROMPT_ALL)
- dwFlags |= DEL_YES;
- }
- }
+ res = FilePromptYNA (szMsg);
+ if ((res == PROMPT_NO) || (res == PROMPT_BREAK))
+ break;
+ if(res == PROMPT_ALL)
+ dwFlags |= DEL_YES;
+ }
+ }
#ifdef _DEBUG
- ConErrPrintf (_T("File: %s\n"), arg[i]);
+ ConErrPrintf (_T("File: %s\n"), arg[i]);
#endif
#ifdef _DEBUG
- ConErrPrintf(_T("Wildcards!\n\n"));
+ ConErrPrintf(_T("Wildcards!\n\n"));
#endif
- GetFullPathName (AltArg,
- MAX_PATH,
- szFullPath,
- &pFilePart);
+ GetFullPathName (AltArg,
+ MAX_PATH,
+ szFullPath,
+ &pFilePart);
#ifdef _DEBUG
- ConErrPrintf(_T("Full path: %s\n"), szFullPath);
- ConErrPrintf(_T("File part: %s\n"), pFilePart);
+ ConErrPrintf(_T("Full path: %s\n"), szFullPath);
+ ConErrPrintf(_T("File part: %s\n"), pFilePart);
#endif
- hFile = FindFirstFile (szFullPath, &f);
+ hFile = FindFirstFile (szFullPath, &f);
- do
- {
+ do
+ {
- if (hFile == INVALID_HANDLE_VALUE)
- {
- error_file_not_found ();
- freep (arg);
- return 0;
- }
+ if (hFile == INVALID_HANDLE_VALUE)
+ {
+ error_file_not_found ();
+ freep (arg);
+ return 0;
+ }
- /*bExclusion is the check varible to see if it has a match
- and it needs to be set to false before each loop, as it hasnt been matched yet*/
- bExclusion = 0;
+ /*bExclusion is the check varible to see if it has a match
+ and it needs to be set to false before each loop, as it hasnt been matched yet*/
+ bExclusion = 0;
- /*loop through each of the arguments*/
- for (ii = 0; ii < args; ii++)
- {
- /*check to see if it is a exclusion tag but not a ':' (used in ATTR)*/
- if(_tcschr (arg[ii], _T('-')) && _tcschr (arg[ii], _T(':')) == NULL)
- {
- /*remove the - from the front to get the real name*/
- _tcscpy (exfileName , arg[ii]);
- szFileName = strtok (exfileName,"-");
- GetFullPathName (szFileName,
- MAX_PATH,
- szFullPath,
- &pFilePart);
- hFileExcl = FindFirstFile (szFullPath, &f2);
- do
- {
- /*check to see if the filenames match*/
- if(!_tcscmp (f.cFileName, f2.cFileName))
- bExclusion = 1;
- }
- while (FindNextFile (hFileExcl, &f2));
- }
- }
+ /*loop through each of the arguments*/
+ for (ii = 0; ii < args; ii++)
+ {
+ /*check to see if it is a exclusion tag but not a ':' (used in ATTR)*/
+ if(_tcschr (arg[ii], _T('-')) && _tcschr (arg[ii], _T(':')) == NULL)
+ {
+ /*remove the - from the front to get the real name*/
+ _tcscpy (exfileName , arg[ii]);
+ szFileName = _tcstok (exfileName,_T("-"));
+ GetFullPathName (szFileName,
+ MAX_PATH,
+ szFullPath,
+ &pFilePart);
+ hFileExcl = FindFirstFile (szFullPath, &f2);
+ do
+ {
+ /*check to see if the filenames match*/
+ if(!_tcscmp (f.cFileName, f2.cFileName))
+ bExclusion = 1;
+ }
+ while (FindNextFile (hFileExcl, &f2));
+ }
+ }
- /*if it is going to be excluded by - no need to check attrs*/
- if(dwFlags & DEL_ATTRIBUTES && bExclusion == 0)
- {
+ /*if it is going to be excluded by - no need to check attrs*/
+ if(dwFlags & DEL_ATTRIBUTES && bExclusion == 0)
+ {
- /*save if file attr check if user doesnt care about that attr anyways*/
- if(dwAttrFlags & ATTR_ARCHIVE && !(f.dwFileAttributes & FILE_ATTRIBUTE_ARCHIVE))
- bExclusion = 1;
- if(dwAttrFlags & ATTR_HIDDEN && !(f.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN))
- bExclusion = 1;
- if(dwAttrFlags & ATTR_SYSTEM && !(f.dwFileAttributes & FILE_ATTRIBUTE_SYSTEM))
- bExclusion = 1;
- if(dwAttrFlags & ATTR_READ_ONLY && !(f.dwFileAttributes & FILE_ATTRIBUTE_READONLY))
- bExclusion = 1;
- if(dwAttrFlags & ATTR_N_ARCHIVE && (f.dwFileAttributes & FILE_ATTRIBUTE_ARCHIVE))
- bExclusion = 1;
- if(dwAttrFlags & ATTR_N_HIDDEN && (f.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN))
- bExclusion = 1;
- if(dwAttrFlags & ATTR_N_SYSTEM && (f.dwFileAttributes & FILE_ATTRIBUTE_SYSTEM))
- bExclusion = 1;
- if(dwAttrFlags & ATTR_N_READ_ONLY && (f.dwFileAttributes & FILE_ATTRIBUTE_READONLY))
- bExclusion = 1;
- }
+ /*save if file attr check if user doesnt care about that attr anyways*/
+ if(dwAttrFlags & ATTR_ARCHIVE && !(f.dwFileAttributes & FILE_ATTRIBUTE_ARCHIVE))
+ bExclusion = 1;
+ if(dwAttrFlags & ATTR_HIDDEN && !(f.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN))
+ bExclusion = 1;
+ if(dwAttrFlags & ATTR_SYSTEM && !(f.dwFileAttributes & FILE_ATTRIBUTE_SYSTEM))
+ bExclusion = 1;
+ if(dwAttrFlags & ATTR_READ_ONLY && !(f.dwFileAttributes & FILE_ATTRIBUTE_READONLY))
+ bExclusion = 1;
+ if(dwAttrFlags & ATTR_N_ARCHIVE && (f.dwFileAttributes & FILE_ATTRIBUTE_ARCHIVE))
+ bExclusion = 1;
+ if(dwAttrFlags & ATTR_N_HIDDEN && (f.dwFileAttributes & FILE_ATTRIBUTE_HIDDEN))
+ bExclusion = 1;
+ if(dwAttrFlags & ATTR_N_SYSTEM && (f.dwFileAttributes & FILE_ATTRIBUTE_SYSTEM))
+ bExclusion = 1;
+ if(dwAttrFlags & ATTR_N_READ_ONLY && (f.dwFileAttributes & FILE_ATTRIBUTE_READONLY))
+ bExclusion = 1;
+ }
- if(bExclusion)
- continue;
+ if(bExclusion)
+ continue;
- /* ignore ".", ".." and directories */
- if (!_tcscmp (f.cFileName, _T(".")) ||
- !_tcscmp (f.cFileName, _T("..")) ||
- f.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
- continue;
+ /* ignore ".", ".." and directories */
+ if (!_tcscmp (f.cFileName, _T(".")) ||
+ !_tcscmp (f.cFileName, _T("..")) ||
+ f.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
+ continue;
- _tcscpy (pFilePart, f.cFileName);
+ _tcscpy (pFilePart, f.cFileName);
#ifdef _DEBUG
- ConErrPrintf(_T("Full filename: %s\n"), szFullPath);
+ ConErrPrintf(_T("Full filename: %s\n"), szFullPath);
#endif
- /* ask for deleting */
- if (dwFlags & DEL_PROMPT)
- {
- LoadString(CMD_ModuleHandle, STRING_DEL_ERROR5, szMsg, RC_STRING_MAX_SIZE);
- ConErrPrintf(szMsg, szFullPath);
+ /* ask for deleting */
+ if (dwFlags & DEL_PROMPT)
+ {
+ LoadString(CMD_ModuleHandle, STRING_DEL_ERROR5, szMsg, RC_STRING_MAX_SIZE);
+ ConErrPrintf(szMsg, szFullPath);
- LoadString(CMD_ModuleHandle, STRING_DEL_ERROR6, szMsg, RC_STRING_MAX_SIZE);
- res = FilePromptYN (szMsg);
+ LoadString(CMD_ModuleHandle, STRING_DEL_ERROR6, szMsg, RC_STRING_MAX_SIZE);
+ res = FilePromptYN (szMsg);
- if ((res == PROMPT_NO) || (res == PROMPT_BREAK))
- {
- continue; //FIXME: Errorcode?
- }
- }
+ if ((res == PROMPT_NO) || (res == PROMPT_BREAK))
+ {
+ continue; //FIXME: Errorcode?
+ }
+ }
- /*user cant ask it to be quiet and tell you what it did*/
- if (!(dwFlags & DEL_QUIET) && !(dwFlags & DEL_TOTAL))
- {
- LoadString(CMD_ModuleHandle, STRING_DEL_ERROR7, szMsg, RC_STRING_MAX_SIZE);
- ConErrPrintf(szMsg, szFullPath);
- }
+ /*user cant ask it to be quiet and tell you what it did*/
+ if (!(dwFlags & DEL_QUIET) && !(dwFlags & DEL_TOTAL))
+ {
+ LoadString(CMD_ModuleHandle, STRING_DEL_ERROR7, szMsg, RC_STRING_MAX_SIZE);
+ ConErrPrintf(szMsg, szFullPath);
+ }
- /* delete the file */
- if(dwFlags & DEL_NOTHING)
- continue;
+ /* delete the file */
+ if(dwFlags & DEL_NOTHING)
+ continue;
- if(RemoveFile (szFullPath, dwFlags))
- dwFiles++;
- else
- {
- bSubFileFound = FALSE;
- ErrorMessage (GetLastError(), _T(""));
- break;
- }
+ if(RemoveFile (szFullPath, dwFlags))
+ dwFiles++;
+ else
+ {
+ bSubFileFound = FALSE;
+ ErrorMessage (GetLastError(), _T(""));
+ break;
+ }
+ }
+ while (FindNextFile (hFile, &f));
+ FindClose (hFile);
}
- while (FindNextFile (hFile, &f));
- }
while(bSubFileFound);
}
- FindClose (hFile);
freep (arg);