summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDandan Bi <dandan.bi@intel.com>2015-08-03 09:44:04 +0000
committerdandanbi <dandanbi@Edk2>2015-08-03 09:44:04 +0000
commita0973dcb7730fffd66dfd9f25e4be2ea399a00c5 (patch)
treedf5ed349b85da08fcc8d9e6b2a90435fc2316879
parentc4a59af8c1f154a5203da16378fb90f93f3fb3ba (diff)
downloadedk2-platforms-a0973dcb7730fffd66dfd9f25e4be2ea399a00c5.tar.xz
MdeModulePkg:Fix the issue FindQuestionFromProgress in SetupBrowserDxe is broken
If the storage of the question is EFI_HII_VARSTORE_BUFFER/EFI_HII_VARSTORE_EFI_VARIABLE_BUFFER, in SetupBrowserDxe the configuration stings contain uppercase,but HiiDataBaseDxe generates the ConfigResp string in lowercase,they mismatch,so FindQuestionFromProgress function is broken. Now convert the configuration string in SetupBrowserDxe to lowercase to fix this issue. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18143 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r--MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c1
-rw-r--r--MdeModulePkg/Universal/SetupBrowserDxe/Setup.h13
2 files changed, 14 insertions, 0 deletions
diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c b/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
index 953e3a5071..8e8607d4c0 100644
--- a/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
+++ b/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
@@ -715,6 +715,7 @@ InitializeRequestElement (
Question->VarStoreInfo.VarOffset,
Question->StorageWidth
);
+ HiiToLower(RequestElement);
Question->BlockName = AllocateCopyPool ((StrLen + 1) * sizeof (CHAR16), RequestElement);
} else {
StrLen = UnicodeSPrint (RequestElement, 30 * sizeof (CHAR16), L"&%s", Question->VariableName);
diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.h b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.h
index cfd81334d9..1238197535 100644
--- a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.h
+++ b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.h
@@ -1849,4 +1849,17 @@ ReconnectController (
IN EFI_HANDLE DriverHandle
);
+/**
+ Converts the unicode character of the string from uppercase to lowercase.
+ This is a internal function.
+
+ @param ConfigString String to be converted
+
+**/
+VOID
+EFIAPI
+HiiToLower (
+ IN EFI_STRING ConfigString
+ );
+
#endif