mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 22:13:06 +00:00
'Del *.*' ignores directories.
This fixes bug 291. svn path=/trunk/; revision=9174
This commit is contained in:
parent
9e9160f508
commit
4845295e63
1 changed files with 28 additions and 33 deletions
|
@ -110,6 +110,7 @@ INT CommandDelete (LPTSTR cmd, LPTSTR param)
|
||||||
LPTSTR *arg = NULL;
|
LPTSTR *arg = NULL;
|
||||||
INT args;
|
INT args;
|
||||||
INT i;
|
INT i;
|
||||||
|
INT res;
|
||||||
INT nEvalArgs = 0; /* nunber of evaluated arguments */
|
INT nEvalArgs = 0; /* nunber of evaluated arguments */
|
||||||
DWORD dwFlags = 0;
|
DWORD dwFlags = 0;
|
||||||
DWORD dwFiles = 0;
|
DWORD dwFiles = 0;
|
||||||
|
@ -204,17 +205,15 @@ INT CommandDelete (LPTSTR cmd, LPTSTR param)
|
||||||
for (i = 0; i < args; i++)
|
for (i = 0; i < args; i++)
|
||||||
{
|
{
|
||||||
if (!_tcscmp (arg[i], _T("*")) ||
|
if (!_tcscmp (arg[i], _T("*")) ||
|
||||||
!_tcscmp (arg[i], _T("*.*")))
|
!_tcscmp (arg[i], _T("*.*")))
|
||||||
{
|
{
|
||||||
INT res;
|
if (!((dwFlags & DEL_YES) || (dwFlags & DEL_QUIET) || (dwFlags & DEL_PROMPT)))
|
||||||
if (!((dwFlags & DEL_YES) || (dwFlags & DEL_QUIET) || (dwFlags & DEL_PROMPT)))
|
{
|
||||||
{
|
res = FilePromptYN (_T("All files in the directory will be deleted!\n"
|
||||||
res = FilePromptYN (_T("All files in the directory will be deleted!\n"
|
"Are you sure (Y/N)?"));
|
||||||
"Are you sure (Y/N)?"));
|
|
||||||
|
if ((res == PROMPT_NO) || (res == PROMPT_BREAK))
|
||||||
if ((res == PROMPT_NO) ||
|
break;
|
||||||
(res == PROMPT_BREAK))
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -251,9 +250,10 @@ INT CommandDelete (LPTSTR cmd, LPTSTR param)
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
/* ignore "." and ".." */
|
/* ignore ".", ".." and directories */
|
||||||
if (!_tcscmp (f.cFileName, _T(".")) ||
|
if (!_tcscmp (f.cFileName, _T(".")) ||
|
||||||
!_tcscmp (f.cFileName, _T("..")))
|
!_tcscmp (f.cFileName, _T("..")) ||
|
||||||
|
f.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
_tcscpy (pFilePart, f.cFileName);
|
_tcscpy (pFilePart, f.cFileName);
|
||||||
|
@ -261,24 +261,21 @@ INT CommandDelete (LPTSTR cmd, LPTSTR param)
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
ConErrPrintf (_T("Full filename: %s\n"), szFullPath);
|
ConErrPrintf (_T("Full filename: %s\n"), szFullPath);
|
||||||
#endif
|
#endif
|
||||||
/*ask for deleting */
|
/* ask for deleting */
|
||||||
if(dwFlags & DEL_PROMPT)
|
if (dwFlags & DEL_PROMPT)
|
||||||
{
|
{
|
||||||
INT res;
|
|
||||||
ConErrPrintf (_T("The file %s will be deleted! "), szFullPath);
|
ConErrPrintf (_T("The file %s will be deleted! "), szFullPath);
|
||||||
res = FilePromptYN (_T("Are you sure (Y/N)?"));
|
res = FilePromptYN (_T("Are you sure (Y/N)?"));
|
||||||
|
|
||||||
if ((res == PROMPT_NO) || (res == PROMPT_BREAK))
|
if ((res == PROMPT_NO) || (res == PROMPT_BREAK))
|
||||||
{
|
{
|
||||||
continue; //FIXME: Errorcode?
|
continue; //FIXME: Errorcode?
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(dwFlags & DEL_QUIET) && !(dwFlags & DEL_TOTAL))
|
if (!(dwFlags & DEL_QUIET) && !(dwFlags & DEL_TOTAL))
|
||||||
ConErrPrintf (_T("Deleting: %s\n"), szFullPath);
|
ConErrPrintf (_T("Deleting: %s\n"), szFullPath);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* delete the file */
|
/* delete the file */
|
||||||
if (!(dwFlags & DEL_NOTHING))
|
if (!(dwFlags & DEL_NOTHING))
|
||||||
{
|
{
|
||||||
|
@ -327,19 +324,17 @@ INT CommandDelete (LPTSTR cmd, LPTSTR param)
|
||||||
szFullPath,
|
szFullPath,
|
||||||
&pFilePart);
|
&pFilePart);
|
||||||
|
|
||||||
|
|
||||||
/*ask for deleting */
|
/*ask for deleting */
|
||||||
if((dwFlags & DEL_PROMPT) && (FindFirstFile(szFullPath, &f) != INVALID_HANDLE_VALUE)) //Don't ask if the file doesn't exist, the following code will make the error-msg
|
if((dwFlags & DEL_PROMPT) && (FindFirstFile(szFullPath, &f) != INVALID_HANDLE_VALUE)) //Don't ask if the file doesn't exist, the following code will make the error-msg
|
||||||
{
|
{
|
||||||
INT res;
|
|
||||||
ConErrPrintf (_T("The file %s will be deleted! "), szFullPath);
|
ConErrPrintf (_T("The file %s will be deleted! "), szFullPath);
|
||||||
res = FilePromptYN (_T("Are you sure (Y/N)?"));
|
res = FilePromptYN (_T("Are you sure (Y/N)?"));
|
||||||
|
|
||||||
if ((res == PROMPT_NO) || (res == PROMPT_BREAK))
|
if ((res == PROMPT_NO) || (res == PROMPT_BREAK))
|
||||||
{
|
{
|
||||||
break; //FIXME: Errorcode?
|
break; //FIXME: Errorcode?
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
ConErrPrintf (_T("Full path: %s\n"), szFullPath);
|
ConErrPrintf (_T("Full path: %s\n"), szFullPath);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue