UINT16 VarWidth;\r
UINT16 VarDefaultId;\r
BOOLEAN FirstOneOfOption;\r
+ BOOLEAN FirstOrderedList;\r
LIST_ENTRY *LinkData;\r
LIST_ENTRY *LinkDefault;\r
EFI_IFR_VARSTORE_NAME_VALUE *IfrNameValueVarStore;\r
DefaultDataPtr = NULL;\r
FirstOneOfOption = FALSE;\r
VarStoreId = 0;\r
+ FirstOrderedList = FALSE;\r
ZeroMem (&DefaultData, sizeof (IFR_DEFAULT_DATA));\r
\r
//\r
//\r
// offset by question header\r
// width by EFI_IFR_ORDERED_LIST MaxContainers * OneofOption Type\r
- // no default value and default id, how to define its default value?\r
//\r
\r
+ FirstOrderedList = TRUE;\r
//\r
// OrderedList question is not in IFR Form. This IFR form is not valid. \r
//\r
\r
IfrOneOfOption = (EFI_IFR_ONE_OF_OPTION *) IfrOpHdr;\r
if (BlockData->OpCode == EFI_IFR_ORDERED_LIST_OP) {\r
+\r
+ if (!FirstOrderedList){\r
+ break;\r
+ }\r
//\r
// Get ordered list option data type.\r
//\r
// Add Block Data into VarStorageData BlockEntry\r
//\r
InsertBlockData (&VarStorageData->BlockEntry, &BlockData);\r
- //\r
- // No default data for OrderedList.\r
- //\r
- BlockData = NULL;\r
+\r
+ FirstOrderedList = FALSE;\r
+\r
break;\r
}\r
\r
break;\r
}\r
\r
- if (BlockData->OpCode == EFI_IFR_ORDERED_LIST_OP) {\r
- //\r
- // OrderedList Opcode is no default value.\r
- //\r
- break;\r
- }\r
//\r
// Get the DefaultId\r
//\r
&gEfiHiiConfigAccessProtocolGuid,\r
(VOID **) &ConfigAccess\r
);\r
- ASSERT_EFI_ERROR (Status);\r
+ if (EFI_ERROR (Status)) {\r
+ goto Done;\r
+ }\r
\r
Status = ConfigAccess->ExtractConfig (\r
ConfigAccess,\r