\r
\r
/**\r
- Reset Questions in a Form to their default value.\r
+ Reset Questions in a Formset to their default value.\r
\r
@param FormSet FormSet data structure.\r
- @param Form The Form which to be reset.\r
@param DefaultId The Class of the default.\r
\r
@retval EFI_SUCCESS The function completed successfully.\r
\r
**/\r
EFI_STATUS\r
-ExtractFormDefault (\r
+ExtractFormSetDefault (\r
IN FORM_BROWSER_FORMSET *FormSet,\r
- IN FORM_BROWSER_FORM *Form,\r
IN UINT16 DefaultId\r
)\r
{\r
EFI_STATUS Status;\r
- LIST_ENTRY *Link;\r
+ LIST_ENTRY *FormLink;\r
+ LIST_ENTRY *StatementLink;\r
FORM_BROWSER_STATEMENT *Question;\r
+ FORM_BROWSER_FORM *Form;\r
\r
- Link = GetFirstNode (&Form->StatementListHead);\r
- while (!IsNull (&Form->StatementListHead, Link)) {\r
- Question = FORM_BROWSER_STATEMENT_FROM_LINK (Link);\r
- Link = GetNextNode (&Form->StatementListHead, Link);\r
-\r
+ FormLink = GetFirstNode (&FormSet->FormListHead);\r
+ while (!IsNull (&FormSet->FormListHead, FormLink)) {\r
+ Form = FORM_BROWSER_FORM_FROM_LINK (FormLink); \r
+ \r
//\r
- // If Question is disabled, don't reset it to default\r
+ // Extract Form default\r
//\r
- if (Question->DisableExpression != NULL) {\r
- Status = EvaluateExpression (FormSet, Form, Question->DisableExpression);\r
- if (!EFI_ERROR (Status) && Question->DisableExpression->Result.Value.b) {\r
- continue;\r
+ StatementLink = GetFirstNode (&Form->StatementListHead);\r
+ while (!IsNull (&Form->StatementListHead, StatementLink)) {\r
+ Question = FORM_BROWSER_STATEMENT_FROM_LINK (StatementLink);\r
+ StatementLink = GetNextNode (&Form->StatementListHead, StatementLink);\r
+\r
+ //\r
+ // If Question is disabled, don't reset it to default\r
+ //\r
+ if (Question->DisableExpression != NULL) {\r
+ Status = EvaluateExpression (FormSet, Form, Question->DisableExpression);\r
+ if (!EFI_ERROR (Status) && Question->DisableExpression->Result.Value.b) {\r
+ continue;\r
+ }\r
}\r
- }\r
\r
- //\r
- // Reset Question to its default value\r
- //\r
- Status = GetQuestionDefault (FormSet, Form, Question, DefaultId);\r
- if (EFI_ERROR (Status)) {\r
- continue;\r
- }\r
+ //\r
+ // Reset Question to its default value\r
+ //\r
+ Status = GetQuestionDefault (FormSet, Form, Question, DefaultId);\r
+ if (EFI_ERROR (Status)) {\r
+ continue;\r
+ }\r
\r
- //\r
- // Synchronize Buffer storage's Edit buffer\r
- //\r
- if ((Question->Storage != NULL) &&\r
- (Question->Storage->Type != EFI_HII_VARSTORE_EFI_VARIABLE)) {\r
- SetQuestionValue (FormSet, Form, Question, TRUE);\r
+ //\r
+ // Synchronize Buffer storage's Edit buffer\r
+ //\r
+ if ((Question->Storage != NULL) &&\r
+ (Question->Storage->Type != EFI_HII_VARSTORE_EFI_VARIABLE)) {\r
+ SetQuestionValue (FormSet, Form, Question, TRUE);\r
+ }\r
}\r
+ FormLink = GetNextNode (&FormSet->FormListHead, FormLink);\r
}\r
\r
return EFI_SUCCESS;\r
//\r
// Extract default from IFR binary\r
//\r
- Link = GetFirstNode (&FormSet->FormListHead);\r
- while (!IsNull (&FormSet->FormListHead, Link)) {\r
- Form = FORM_BROWSER_FORM_FROM_LINK (Link);\r
-\r
- Status = ExtractFormDefault (FormSet, Form, EFI_HII_DEFAULT_CLASS_STANDARD);\r
-\r
- Link = GetNextNode (&FormSet->FormListHead, Link);\r
+ Status = ExtractFormSetDefault (FormSet, EFI_HII_DEFAULT_CLASS_STANDARD);\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
}\r
\r
//\r