EFI_HII_SIBT_EXT2_BLOCK Ext2;\r
HII_FONT_INFO *LocalFont;\r
HII_GLOBAL_FONT_INFO *GlobalFont;\r
+ CHAR8 *MatchedLanguage;\r
\r
if (This == NULL || String == NULL || StringId == NULL || Language == NULL || PackageList == NULL) {\r
return EFI_INVALID_PARAMETER;\r
Link = Link->ForwardLink\r
) {\r
StringPackage = CR (Link, HII_STRING_PACKAGE_INSTANCE, StringEntry, HII_STRING_PACKAGE_SIGNATURE);\r
- if (HiiCompareLanguage (StringPackage->StringPkgHdr->Language, (CHAR8 *) Language)) {\r
+ MatchedLanguage = GetBestLanguage (StringPackage->StringPkgHdr->Language, FALSE, (CHAR8 *) Language, NULL);\r
+ if (MatchedLanguage != NULL) {\r
+ FreePool (MatchedLanguage);\r
Matched = TRUE;\r
break;\r
}\r
HII_DATABASE_RECORD *DatabaseRecord;\r
HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageListNode;\r
HII_STRING_PACKAGE_INSTANCE *StringPackage;\r
+ CHAR8 *MatchedLanguage;\r
\r
if (This == NULL || Language == NULL || StringId < 1 || StringSize == NULL || PackageList == NULL) {\r
return EFI_INVALID_PARAMETER;\r
Link = Link->ForwardLink\r
) {\r
StringPackage = CR (Link, HII_STRING_PACKAGE_INSTANCE, StringEntry, HII_STRING_PACKAGE_SIGNATURE);\r
- if (HiiCompareLanguage (StringPackage->StringPkgHdr->Language, (CHAR8 *) Language)) {\r
+ MatchedLanguage = GetBestLanguage (StringPackage->StringPkgHdr->Language, FALSE, (CHAR8 *) Language, NULL);\r
+ if (MatchedLanguage != NULL) {\r
+ FreePool (MatchedLanguage);\r
Status = GetStringWorker (Private, StringPackage, StringId, String, StringSize, StringFontInfo);\r
if (Status != EFI_NOT_FOUND) {\r
return Status;\r
HII_DATABASE_PACKAGE_LIST_INSTANCE *PackageListNode;\r
HII_STRING_PACKAGE_INSTANCE *StringPackage;\r
UINT32 OldPackageLen;\r
+ CHAR8 *MatchedLanguage;\r
\r
if (This == NULL || Language == NULL || StringId < 1 || String == NULL || PackageList == NULL) {\r
return EFI_INVALID_PARAMETER;\r
Link = Link->ForwardLink\r
) {\r
StringPackage = CR (Link, HII_STRING_PACKAGE_INSTANCE, StringEntry, HII_STRING_PACKAGE_SIGNATURE);\r
- if (HiiCompareLanguage (StringPackage->StringPkgHdr->Language, (CHAR8 *) Language)) {\r
+ MatchedLanguage = GetBestLanguage (StringPackage->StringPkgHdr->Language, FALSE, (CHAR8 *) Language, NULL);\r
+ if (MatchedLanguage != NULL) {\r
+ FreePool (MatchedLanguage);\r
OldPackageLen = StringPackage->StringPkgHdr->Header.Length;\r
Status = SetStringWorker (\r
Private,\r
HII_STRING_PACKAGE_INSTANCE *StringPackage;\r
CHAR8 *Languages;\r
UINTN ResultSize;\r
+ CHAR8 *MatchedLanguage;\r
\r
if (This == NULL || PackageList == NULL || FirstLanguage == NULL) {\r
return EFI_INVALID_PARAMETER;\r
Link1 = Link1->ForwardLink\r
) {\r
StringPackage = CR (Link1, HII_STRING_PACKAGE_INSTANCE, StringEntry, HII_STRING_PACKAGE_SIGNATURE);\r
- if (HiiCompareLanguage (StringPackage->StringPkgHdr->Language, (CHAR8 *) FirstLanguage)) {\r
+ MatchedLanguage = GetBestLanguage (StringPackage->StringPkgHdr->Language, FALSE, (CHAR8 *) FirstLanguage, NULL);\r
+ if (MatchedLanguage != NULL) {\r
+ FreePool (MatchedLanguage);\r
Languages = StringPackage->StringPkgHdr->Language;\r
//\r
// Language is a series of ';' terminated strings, first one is primary\r
return EFI_INVALID_LANGUAGE;\r
}\r
\r
-/**\r
- Compare whether two names of languages are identical.\r
-\r
- @param Language1 Name of language 1\r
- @param Language2 Name of language 2\r
-\r
- @retval TRUE same\r
- @retval FALSE not same\r
-\r
-**/\r
-BOOLEAN\r
-HiiCompareLanguage (\r
- IN CHAR8 *Language1,\r
- IN CHAR8 *Language2\r
- )\r
-{\r
- //\r
- // Porting Guide:\r
- // This library interface is simply obsolete.\r
- // Include the source code to user code.\r
- //\r
- UINTN Index;\r
-\r
- for (Index = 0; (Language1[Index] != 0) && (Language2[Index] != 0); Index++) {\r
- if (Language1[Index] != Language2[Index]) {\r
- return FALSE;\r
- }\r
- }\r
-\r
- if (((Language1[Index] == 0) && (Language2[Index] == 0)) || \r
- ((Language1[Index] == 0) && (Language2[Index] != ';')) ||\r
- ((Language1[Index] == ';') && (Language2[Index] != 0)) ||\r
- ((Language1[Index] == ';') && (Language2[Index] != ';'))) {\r
- return TRUE;\r
- }\r
-\r
- return FALSE;\r
-}\r