diff -r 482757737e59 -r 5d370dafea69 core/src/commands.cpp --- a/core/src/commands.cpp Thu Aug 05 12:06:56 2010 +0100 +++ b/core/src/commands.cpp Fri Aug 06 17:00:19 2010 +0100 @@ -698,6 +698,7 @@ { delete iFileMan; iFileNames.Close(); + iNonExpandedFilenames.ResetAndDestroy(); } CCmdRm::CCmdRm() @@ -748,7 +749,13 @@ err = DoDelete(fileName); } } - User::LeaveIfError(err); + LeaveIfErr(err, _L("Couldn't delete '%S'"), &fileName); + } + + for (TInt i = 0; i < iNonExpandedFilenames.Count(); i++) + { + TInt err = DoDelete(*iNonExpandedFilenames[i]); + LeaveIfErr(err, _L("Couldn't delete '%S'"), iNonExpandedFilenames[i]); } } @@ -770,8 +777,10 @@ { _LIT(KCmdRmOptRecurse, "recurse"); _LIT(KCmdRmOptForce, "force"); + _LIT(KCmdRmOptNoexpand, "noexpand"); aOptions.AppendBoolL(iRecurse, KCmdRmOptRecurse); aOptions.AppendBoolL(iForce, KCmdRmOptForce); + aOptions.AppendStringL(iNonExpandedFilenames, KCmdRmOptNoexpand); } void CCmdRm::ArgumentsL(RCommandArgumentList& aArguments)