core/src/commands.cpp
changeset 26 5d370dafea69
parent 7 184a1eb85cf2
child 50 e81b4e28b3e2
--- 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)