EFI_HII_CONFIG_ACCESS_PROTOCOL *ConfigAccess;\r
EFI_BROWSER_ACTION_REQUEST ActionRequest;\r
INTN Action;\r
+ CHAR16 *NewString;\r
\r
Status = EFI_NOT_FOUND;\r
StrValue = NULL;\r
&ActionRequest\r
);\r
if (!EFI_ERROR (Status)) {\r
+ if (HiiValue->Type == EFI_IFR_TYPE_STRING) {\r
+ NewString = GetToken (Question->HiiValue.Value.string, FormSet->HiiHandle);\r
+ ASSERT (NewString != NULL);\r
+\r
+ ASSERT (StrLen (NewString) * sizeof (CHAR16) <= Question->StorageWidth);\r
+ if (StrLen (NewString) * sizeof (CHAR16) <= Question->StorageWidth) {\r
+ CopyMem (Question->BufferValue, NewString, StrSize (NewString));\r
+ } else {\r
+ CopyMem (Question->BufferValue, NewString, Question->StorageWidth);\r
+ }\r
+\r
+ FreePool (NewString);\r
+ }\r
return Status;\r
}\r
}\r
//\r
// Call the Retrieve call back to get the initial question value.\r
//\r
- Status = ProcessRetrieveForQuestion(FormSet->ConfigAccess, Question);\r
+ Status = ProcessRetrieveForQuestion(FormSet->ConfigAccess, Question, FormSet);\r
}\r
\r
//\r