]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Library/UefiHiiLib/HiiLanguage.c
Apply GetBestLanguage() API in UEFI to display HII string.
[mirror_edk2.git] / MdeModulePkg / Library / UefiHiiLib / HiiLanguage.c
index 58817c1bafdc4cc91fe4d27c16e8dce7ae9f333c..3aef7126e03812a3ab73e753dfedc53a3c432e44 100644 (file)
@@ -130,7 +130,7 @@ HiiLibGetSupportedLanguageNumber (
   CHAR8   *Languages;\r
   CHAR8   *LanguageString;\r
   UINT16  LangNumber;\r
-  CHAR8   Lang[RFC_3066_ENTRY_SIZE];\r
+  CHAR8   *Lang;\r
 \r
   Languages = HiiLibGetSupportedLanguages (HiiHandle);\r
   if (Languages == NULL) {\r
@@ -138,10 +138,15 @@ HiiLibGetSupportedLanguageNumber (
   }\r
 \r
   LangNumber = 0;\r
-  LanguageString = Languages;\r
-  while (*LanguageString != 0) {\r
-    HiiLibGetNextLanguage (&LanguageString, Lang);\r
-    LangNumber++;\r
+  Lang = AllocatePool (AsciiStrSize (Languages));\r
+  if (Lang != NULL) {\r
+    LanguageString = Languages;\r
+    while (*LanguageString != 0) {\r
+      HiiLibGetNextLanguage (&LanguageString, Lang);\r
+      LangNumber++;\r
+    }\r
+\r
+    FreePool (Lang);\r
   }\r
   FreePool (Languages);\r
 \r
@@ -204,50 +209,4 @@ HiiLibGetSupportedSecondaryLanguages (
 }\r
 \r
 \r
-/**\r
-  Determine what is the current language setting. The space reserved for Lang\r
-  must be at least RFC_3066_ENTRY_SIZE bytes;\r
-\r
-  If Lang is NULL, then ASSERT.\r
-\r
-  @param  Lang                   Pointer of system language. Lang will always be filled with \r
-                                 a valid RFC 3066 language string. If "PlatformLang" is not\r
-                                 set in the system, the default language specifed by PcdUefiVariableDefaultPlatformLang\r
-                                 is returned.\r
-\r
-  @return  EFI_SUCCESS     If the EFI Variable with "PlatformLang" is set and return in Lang.\r
-  @return  EFI_NOT_FOUND If the EFI Variable with "PlatformLang" is not set, but a valid default language is return in Lang.\r
-\r
-**/\r
-EFI_STATUS\r
-EFIAPI\r
-GetCurrentLanguage (\r
-  OUT     CHAR8               *Lang\r
-  )\r
-{\r
-  EFI_STATUS  Status;\r
-  UINTN       Size;\r
-\r
-  ASSERT (Lang != NULL);\r
-\r
-  //\r
-  // Get current language setting\r
-  //\r
-  Size = RFC_3066_ENTRY_SIZE;\r
-  Status = gRT->GetVariable (\r
-                  L"PlatformLang",\r
-                  &gEfiGlobalVariableGuid,\r
-                  NULL,\r
-                  &Size,\r
-                  Lang\r
-                  );\r
-\r
-  if (EFI_ERROR (Status)) {\r
-    AsciiStrCpy (Lang, (CHAR8 *) PcdGetPtr (PcdUefiVariableDefaultPlatformLang));\r
-  }\r
-\r
-  return Status;\r
-}\r
-\r
-\r
 \r