]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ShellPkg: Fix ICC11 build failure.
authorjcarsey <jcarsey@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 24 Feb 2012 17:12:39 +0000 (17:12 +0000)
committerjcarsey <jcarsey@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 24 Feb 2012 17:12:39 +0000 (17:12 +0000)
Signed-off-by: jcarsey
Reviewed-by: lgao4
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13032 6f19259b-4bc3-4df7-8a09-765794883524

ShellPkg/Library/UefiShellInstall1CommandsLib/Bcfg.c

index 921ebe5485216f7e2e9fab5fcb4c0eb571242bae..e800533b6f9f936fcdd8f98be227e26b554eb31a 100644 (file)
@@ -934,33 +934,37 @@ BcfgAddOptInstall1(
       //\r
       // Open the file and populate the data buffer.\r
       //\r
-      ShellStatus = ShellOpenFileByName(\r
+      Status = ShellOpenFileByName(\r
         FileName,\r
         &FileHandle,\r
         EFI_FILE_MODE_READ,\r
         0);\r
-      if (ShellStatus == SHELL_SUCCESS) {\r
-        ShellStatus = ShellGetFileSize(FileHandle, &Intermediate);\r
+      if (!EFI_ERROR(Status)) {\r
+        Status = ShellGetFileSize(FileHandle, &Intermediate);\r
       }\r
       Data = AllocateZeroPool((UINTN)Intermediate);\r
       if (Data == NULL) {\r
         ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_MEM), gShellInstall1HiiHandle);\r
         ShellStatus = SHELL_OUT_OF_RESOURCES;\r
       }\r
-      if (ShellStatus == SHELL_SUCCESS) {\r
-        ShellStatus = ShellReadFile(FileHandle, (UINTN *)&Intermediate, Data);\r
+      if (!EFI_ERROR(Status)) {\r
+        Status = ShellReadFile(FileHandle, (UINTN *)&Intermediate, Data);\r
       }\r
     } else {\r
       Intermediate = StrSize(Data);\r
     }\r
 \r
-    if (ShellStatus == SHELL_SUCCESS && Data != NULL) {\r
+    if (!EFI_ERROR(Status) && ShellStatus == SHELL_SUCCESS && Data != NULL) {\r
       Status = UpdateOptionalData(CurrentOrder[OptionIndex], (UINTN)Intermediate, (UINT8*)Data, Target);\r
       if (EFI_ERROR(Status)) {\r
         ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_BCFG_SET_VAR_FAIL), gShellInstall1HiiHandle, VariableName, Status);\r
         ShellStatus = SHELL_INVALID_PARAMETER;\r
       }   \r
     }\r
+    if (EFI_ERROR(Status) && ShellStatus == SHELL_SUCCESS) {\r
+      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_BCFG_SET_VAR_FAIL), gShellInstall1HiiHandle, VariableName, Status);\r
+      ShellStatus = SHELL_INVALID_PARAMETER;\r
+    }   \r
   }\r
 \r
   SHELL_FREE_NON_NULL(Data);\r