]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellLevel2CommandsLib/Rm.c
ShellPkg: Update "ls" command to better handle "-r" parameter
[mirror_edk2.git] / ShellPkg / Library / UefiShellLevel2CommandsLib / Rm.c
index e4f4166b14cea2eb5928216a8bc18e11d5b9e7ba..c1e01426f8076f49ff38bb218a3f664a451d1baa 100644 (file)
@@ -92,7 +92,6 @@ CascadeDelete(
       if (!Quiet) {\r
         Status = ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN(STR_RM_LOG_DELETE_CONF), gShellLevel2HiiHandle, Node->FullName);\r
         Status = ShellPromptForResponse(ShellPromptResponseTypeYesNo, NULL, (VOID**)&Resp);\r
-        ASSERT_EFI_ERROR(Status);\r
         ASSERT(Resp != NULL);\r
         if (EFI_ERROR(Status) || *Resp != ShellPromptResponseYes) {\r
           SHELL_FREE_NON_NULL(Resp);\r
@@ -127,7 +126,7 @@ CascadeDelete(
           //\r
           TempName = AllocateZeroPool(StrSize(Node->FullName) + StrSize(Node2->FullName));\r
           if (TempName == NULL) {\r
-            ShellStatus = EFI_OUT_OF_RESOURCES;\r
+            ShellStatus = SHELL_OUT_OF_RESOURCES;\r
           } else {\r
             StrCpy(TempName, Node->FullName);\r
             TempName[StrStr(TempName, L":")+1-TempName] = CHAR_NULL;\r
@@ -144,7 +143,7 @@ CascadeDelete(
         if (!EFI_ERROR(Node2->Status)) {\r
           ShellStatus = CascadeDelete(Node2, Quiet);\r
         } else if (ShellStatus == SHELL_SUCCESS) {\r
-          ShellStatus = Node2->Status;\r
+          ShellStatus = (SHELL_STATUS)(Node2->Status&(~0x80000000));\r
         }\r
         if (ShellStatus != SHELL_SUCCESS) {\r
           if (List!=NULL) {\r