Link = GetFirstNode (&Question->OptionListHead);\r
while (!IsNull (&Question->OptionListHead, Link)) {\r
Option = QUESTION_OPTION_FROM_LINK (Link);\r
+ Link = GetNextNode (&Question->OptionListHead, Link);\r
+\r
+ if ((Option->SuppressExpression != NULL) &&\r
+ EvaluateExpressionList(Option->SuppressExpression, FALSE, NULL, NULL) != ExpressFalse) {\r
+ continue;\r
+ }\r
\r
if (((DefaultId == EFI_HII_DEFAULT_CLASS_STANDARD) && ((Option->Flags & EFI_IFR_OPTION_DEFAULT) != 0)) ||\r
((DefaultId == EFI_HII_DEFAULT_CLASS_MANUFACTURING) && ((Option->Flags & EFI_IFR_OPTION_DEFAULT_MFG) != 0))\r
\r
return EFI_SUCCESS;\r
}\r
-\r
- Link = GetNextNode (&Question->OptionListHead, Link);\r
}\r
}\r
}\r
//\r
if (ValueToOption (Question, HiiValue) == NULL) {\r
Link = GetFirstNode (&Question->OptionListHead);\r
- if (!IsNull (&Question->OptionListHead, Link)) {\r
+ while (!IsNull (&Question->OptionListHead, Link)) {\r
Option = QUESTION_OPTION_FROM_LINK (Link);\r
+ Link = GetNextNode (&Question->OptionListHead, Link);\r
+\r
+ if ((Option->SuppressExpression != NULL) &&\r
+ EvaluateExpressionList(Option->SuppressExpression, FALSE, NULL, NULL) != ExpressFalse) {\r
+ continue;\r
+ }\r
+\r
CopyMem (HiiValue, &Option->Value, sizeof (EFI_HII_VALUE));\r
Status = EFI_SUCCESS;\r
+ break;\r
}\r
}\r
break;\r
while (!IsNull (&Question->OptionListHead, Link)) {\r
Status = EFI_SUCCESS;\r
Option = QUESTION_OPTION_FROM_LINK (Link);\r
+ Link = GetNextNode (&Question->OptionListHead, Link);\r
+\r
+ if ((Option->SuppressExpression != NULL) &&\r
+ EvaluateExpressionList(Option->SuppressExpression, FALSE, NULL, NULL) != ExpressFalse) {\r
+ continue;\r
+ }\r
\r
SetArrayData (Question->BufferValue, Question->ValueType, Index, Option->Value.Value.u64);\r
\r
if (Index >= Question->MaxContainers) {\r
break;\r
}\r
-\r
- Link = GetNextNode (&Question->OptionListHead, Link);\r
}\r
break;\r
\r
//\r
// Convert Result from <ConfigAltResp> to <ConfigResp>\r
//\r
- StrPtr = StrStr (Result, L"ALTCFG");\r
+ StrPtr = StrStr (Result, L"&GUID=");\r
if (StrPtr != NULL) {\r
*StrPtr = L'\0';\r
}\r