UINTN LoopVar;\r
CHAR16 *DeviceNameToReturn;\r
CHAR8 *Lang;\r
- CHAR8 *TempChar;\r
-\r
UINTN ParentControllerCount;\r
EFI_HANDLE *ParentControllerBuffer;\r
UINTN ParentDriverCount;\r
if (EFI_ERROR(Status)) {\r
continue;\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->GetControllerName(CompName2, DeviceHandle, NULL, Lang, &DeviceNameToReturn);\r
FreePool(Lang);\r
Lang = NULL;\r
if (EFI_ERROR(Status)) {\r
continue;\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->GetControllerName(CompName2, ParentControllerBuffer[LoopVar], DeviceHandle, Lang, &DeviceNameToReturn);\r
FreePool(Lang);\r
Lang = NULL;\r