]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Update HiiCompareLanguage to support case that language in String package is "en...
authorlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 8 Mar 2011 08:50:26 +0000 (08:50 +0000)
committerlgao4 <lgao4@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 8 Mar 2011 08:50:26 +0000 (08:50 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11356 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabase.h
MdeModulePkg/Universal/HiiDatabaseDxe/String.c

index 2b4d6bef793fb82492754b6ec8b74718a2a11332..d01a672189455b38a6120b8cec48ff36d0937ece 100644 (file)
@@ -1757,8 +1757,8 @@ HiiGetAltCfg (
 /**\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
+  @param  Language1              Name of language 1 from StringPackage\r
+  @param  Language2              Name of language 2 to be compared with language 1.\r
 \r
   @retval TRUE                   same\r
   @retval FALSE                  not same\r
index 931e7b397b81b4b5de25d08e9b2ff9a9775499d0..d0d13f1de744266bf66f990fdc5b2a24311c4f8f 100644 (file)
@@ -1954,8 +1954,8 @@ HiiGetSecondaryLanguages (
 /**\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
+  @param  Language1              Name of language 1 from StringPackage\r
+  @param  Language2              Name of language 2 to be compared with language 1.\r
 \r
   @retval TRUE                   same\r
   @retval FALSE                  not same\r
@@ -1969,6 +1969,22 @@ HiiCompareLanguage (
 {\r
   UINTN Language2Len;\r
 \r
+  //\r
+  // When languages are exactly same, they will be identical. \r
+  //\r
   Language2Len = AsciiStrLen (Language2);\r
-  return  (BOOLEAN) (AsciiStrnCmp (Language1, Language2, Language2Len) == 0);\r
+  if (AsciiStrnCmp (Language2, Language1, Language2Len) == 0) {\r
+    return TRUE;\r
+  }\r
+  \r
+  //\r
+  // When Language1 is the sub tag of Language2, they will also be regarded as identical.\r
+  // This is added to support current Shell. Shell string package uses "en" as language name. \r
+  // But, it may use platform language "en-US" to get string value.\r
+  //\r
+  if (AsciiStrStr (Language2, Language1) == Language2) {\r
+    return TRUE;\r
+  }\r
+  \r
+  return FALSE;\r
 }\r