Don't exit the command immediately when a variable access fails; continue
processing after printing the error message. Let the final return status
reflect any encountered errors.
This patch is intended as a functional improvement.
Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ryan Harkin <ryan.harkin@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19709
6f19259b-4bc3-4df7-8a09-
765794883524
UINTN LoopVar2;\r
CHAR16 *DevPathString;\r
VOID *DevPath;\r
UINTN LoopVar2;\r
CHAR16 *DevPathString;\r
VOID *DevPath;\r
\r
if (OrderCount == 0) {\r
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN(STR_BCFG_NONE), gShellBcfgHiiHandle, L"bcfg"); \r
return (SHELL_SUCCESS);\r
}\r
\r
\r
if (OrderCount == 0) {\r
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN(STR_BCFG_NONE), gShellBcfgHiiHandle, L"bcfg"); \r
return (SHELL_SUCCESS);\r
}\r
\r
for (LoopVar = 0 ; LoopVar < OrderCount ; LoopVar++) {\r
Buffer = NULL;\r
BufferSize = 0;\r
for (LoopVar = 0 ; LoopVar < OrderCount ; LoopVar++) {\r
Buffer = NULL;\r
BufferSize = 0;\r
\r
if (EFI_ERROR(Status) || Buffer == NULL) {\r
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_BCFG_READ_FAIL), gShellBcfgHiiHandle, L"bcfg", VariableName); \r
\r
if (EFI_ERROR(Status) || Buffer == NULL) {\r
ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_BCFG_READ_FAIL), gShellBcfgHiiHandle, L"bcfg", VariableName); \r
- return (SHELL_INVALID_PARAMETER);\r
+ ++Errors;\r
+ goto Cleanup;\r
}\r
\r
if ((*(UINT16*)(Buffer+4)) != 0) {\r
}\r
\r
if ((*(UINT16*)(Buffer+4)) != 0) {\r
if (Buffer != NULL) {\r
FreePool(Buffer);\r
}\r
if (Buffer != NULL) {\r
FreePool(Buffer);\r
}\r
FreePool(DevPathString);\r
}\r
}\r
FreePool(DevPathString);\r
}\r
}\r
- return (SHELL_SUCCESS);\r
+ return (Errors > 0) ? SHELL_INVALID_PARAMETER : SHELL_SUCCESS;\r