option text = STRING_TOKEN(STR_ONE_OF_TEXT1), value = 3, flags = 0;\r
option text = STRING_TOKEN(STR_ONE_OF_TEXT2), value = 2, flags = 0;\r
option text = STRING_TOKEN(STR_ONE_OF_TEXT3), value = 1, flags = 0;\r
+ default = {1,2,3},\r
endlist;\r
endif;\r
\r
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