//\r
ASSERT(FileName == NULL || Data == NULL);\r
\r
- if (ShellStatus == SHELL_SUCCESS && FileName != NULL || Data != NULL) {\r
+ if (ShellStatus == SHELL_SUCCESS && (FileName != NULL || Data != NULL)) {\r
if (FileName != NULL) {\r
//\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), gShellDebug1HiiHandle);\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 = UpdateOptionalDataDebug1(CurrentOrder[OptionIndex], (UINTN)Intermediate, (UINT8*)Data, Target);\r
if (EFI_ERROR(Status)) {\r
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_BCFG_SET_VAR_FAIL), gShellDebug1HiiHandle, 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), gShellDebug1HiiHandle, VariableName, Status);\r
+ ShellStatus = SHELL_INVALID_PARAMETER;\r
+ } \r
}\r
\r
SHELL_FREE_NON_NULL(Data);\r