summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/HiiDatabaseDxe/Database.c
diff options
context:
space:
mode:
authorrsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524>2009-05-08 05:39:24 +0000
committerrsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524>2009-05-08 05:39:24 +0000
commit844390f7d59690b09abca9d4807615bb95a8e510 (patch)
treecb2d165c562948725178dfcde9380fa6e9fca6f3 /MdeModulePkg/Universal/HiiDatabaseDxe/Database.c
parent62e71e2fbeaaf76e1faa43ccc7a945c44463589e (diff)
downloadedk2-platforms-844390f7d59690b09abca9d4807615bb95a8e510.tar.xz
Update HiiDataBase driver to use GetBestLanguage() for matching RFC 4646 languages.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8262 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/HiiDatabaseDxe/Database.c')
-rw-r--r--MdeModulePkg/Universal/HiiDatabaseDxe/Database.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/MdeModulePkg/Universal/HiiDatabaseDxe/Database.c b/MdeModulePkg/Universal/HiiDatabaseDxe/Database.c
index d3aba3d25c..a5ac43e57b 100644
--- a/MdeModulePkg/Universal/HiiDatabaseDxe/Database.c
+++ b/MdeModulePkg/Universal/HiiDatabaseDxe/Database.c
@@ -784,6 +784,7 @@ InsertStringPackage (
EFI_STATUS Status;
EFI_HII_PACKAGE_HEADER PackageHeader;
CHAR8 *Language;
+ CHAR8 *MatchedLanguage;
UINT32 LanguageSize;
LIST_ENTRY *Link;
@@ -809,8 +810,10 @@ InsertStringPackage (
AsciiStrCpy (Language, (CHAR8 *) PackageHdr + HeaderSize - LanguageSize);
for (Link = PackageList->StringPkgHdr.ForwardLink; Link != &PackageList->StringPkgHdr; Link = Link->ForwardLink) {
StringPackage = CR (Link, HII_STRING_PACKAGE_INSTANCE, StringEntry, HII_STRING_PACKAGE_SIGNATURE);
- if (HiiCompareLanguage (Language, StringPackage->StringPkgHdr->Language)) {
+ MatchedLanguage = GetBestLanguage (StringPackage->StringPkgHdr->Language, FALSE, (CHAR8 *) Language, NULL);
+ if (MatchedLanguage != NULL) {
FreePool (Language);
+ FreePool (MatchedLanguage);
return EFI_UNSUPPORTED;
}
}