Revision: 18143
          http://sourceforge.net/p/edk2/code/18143
Author:   dandanbi
Date:     2015-08-03 09:44:04 +0000 (Mon, 03 Aug 2015)
Log Message:
-----------
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 <[email protected]>
Reviewed-by: Liming Gao <[email protected]>

Modified Paths:
--------------
    trunk/edk2/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
    trunk/edk2/MdeModulePkg/Universal/SetupBrowserDxe/Setup.h

Modified: trunk/edk2/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c
===================================================================
--- trunk/edk2/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c        
2015-08-03 08:23:59 UTC (rev 18142)
+++ trunk/edk2/MdeModulePkg/Universal/SetupBrowserDxe/IfrParse.c        
2015-08-03 09:44:04 UTC (rev 18143)
@@ -715,6 +715,7 @@
                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);

Modified: trunk/edk2/MdeModulePkg/Universal/SetupBrowserDxe/Setup.h
===================================================================
--- trunk/edk2/MdeModulePkg/Universal/SetupBrowserDxe/Setup.h   2015-08-03 
08:23:59 UTC (rev 18142)
+++ trunk/edk2/MdeModulePkg/Universal/SetupBrowserDxe/Setup.h   2015-08-03 
09:44:04 UTC (rev 18143)
@@ -1849,4 +1849,17 @@
   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


------------------------------------------------------------------------------
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits

Reply via email to