diff options
author | rsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524> | 2009-05-08 05:39:24 +0000 |
---|---|---|
committer | rsun3 <rsun3@6f19259b-4bc3-4df7-8a09-765794883524> | 2009-05-08 05:39:24 +0000 |
commit | 844390f7d59690b09abca9d4807615bb95a8e510 (patch) | |
tree | cb2d165c562948725178dfcde9380fa6e9fca6f3 /MdeModulePkg/Universal/HiiDatabaseDxe/Database.c | |
parent | 62e71e2fbeaaf76e1faa43ccc7a945c44463589e (diff) | |
download | edk2-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.c | 5 |
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;
}
}
|