]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellDriver1CommandsLib/Dh.c
Refine the select language logic.
[mirror_edk2.git] / ShellPkg / Library / UefiShellDriver1CommandsLib / Dh.c
index bfbd8d76b03867b6b918b380690ce9265e9d7d98..1bb3191f4153e6a994ffca07fd4efdabc507b4ab 100644 (file)
@@ -60,7 +60,6 @@ GetDriverName (
   )\r
 {\r
   CHAR8                             *Lang;\r
-  CHAR8                             *TempChar;\r
   EFI_STATUS                        Status;\r
   EFI_COMPONENT_NAME2_PROTOCOL      *CompName2;\r
   CHAR16                            *NameToReturn;\r
@@ -87,23 +86,7 @@ GetDriverName (
   if (EFI_ERROR(Status)) {\r
     return (EFI_NOT_FOUND);\r
   }\r
-  if (Language == NULL) {\r
-    Lang = AllocateZeroPool(AsciiStrSize(CompName2->SupportedLanguages));\r
-    if (Lang == NULL) {\r
-      return (EFI_OUT_OF_RESOURCES);\r
-    }\r
-    AsciiStrCpy(Lang, CompName2->SupportedLanguages);\r
-    TempChar = AsciiStrStr(Lang, ";");\r
-    if (TempChar != NULL){\r
-      *TempChar = CHAR_NULL;\r
-    }\r
-  } else {\r
-    Lang = AllocateZeroPool(AsciiStrSize(Language));\r
-    if (Lang == NULL) {\r
-      return (EFI_OUT_OF_RESOURCES);\r
-    }\r
-    AsciiStrCpy(Lang, Language);\r
-  }\r
+  Lang = GetBestLanguageForDriver (CompName2->SupportedLanguages, Language, FALSE);\r
   Status = CompName2->GetDriverName(CompName2, Lang, &NameToReturn);\r
   FreePool(Lang);\r
 \r