]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Refine the select language logic.
authorEric Dong <eric.dong@intel.com>
Thu, 5 Sep 2013 05:39:57 +0000 (05:39 +0000)
committerydong10 <ydong10@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 5 Sep 2013 05:39:57 +0000 (05:39 +0000)
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14630 6f19259b-4bc3-4df7-8a09-765794883524

PerformancePkg/Dp_App/DpUtilities.c

index 4daca0b853624539d27ab7ea45182f8ca7ca534d..65efb80c80591bb908df38df3f20985e720b2389 100644 (file)
@@ -218,8 +218,12 @@ GetNameFromHandle (
   CHAR16                      *NameString;\r
   UINTN                       StringSize;\r
   CHAR8                       *PlatformLanguage;\r
   CHAR16                      *NameString;\r
   UINTN                       StringSize;\r
   CHAR8                       *PlatformLanguage;\r
+  CHAR8                       *BestLanguage;\r
   EFI_COMPONENT_NAME2_PROTOCOL      *ComponentName2;\r
 \r
   EFI_COMPONENT_NAME2_PROTOCOL      *ComponentName2;\r
 \r
+  BestLanguage     = NULL;\r
+  PlatformLanguage = NULL;\r
+\r
   //\r
   // Method 1: Get the name string from image PDB\r
   //\r
   //\r
   // Method 1: Get the name string from image PDB\r
   //\r
@@ -269,13 +273,23 @@ GetNameFromHandle (
     // Get the current platform language setting\r
     //\r
     GetEfiGlobalVariable2 (L"PlatformLang", (VOID**)&PlatformLanguage, NULL);\r
     // Get the current platform language setting\r
     //\r
     GetEfiGlobalVariable2 (L"PlatformLang", (VOID**)&PlatformLanguage, NULL);\r
+\r
+    BestLanguage = GetBestLanguage(\r
+                     ComponentName2->SupportedLanguages,\r
+                     FALSE,\r
+                     PlatformLanguage,\r
+                     ComponentName2->SupportedLanguages,\r
+                     NULL\r
+                     );\r
+\r
+    SafeFreePool (PlatformLanguage);\r
     Status = ComponentName2->GetDriverName (\r
                                ComponentName2,\r
     Status = ComponentName2->GetDriverName (\r
                                ComponentName2,\r
-                               PlatformLanguage != NULL ? PlatformLanguage : "en-US",\r
+                               BestLanguage,\r
                                &StringPtr\r
                                );\r
                                &StringPtr\r
                                );\r
+    SafeFreePool (BestLanguage);\r
     if (!EFI_ERROR (Status)) {\r
     if (!EFI_ERROR (Status)) {\r
-      SafeFreePool (PlatformLanguage);\r
       StrnCpy (mGaugeString, StringPtr, DP_GAUGE_STRING_LENGTH);\r
       mGaugeString[DP_GAUGE_STRING_LENGTH] = 0;\r
       return;\r
       StrnCpy (mGaugeString, StringPtr, DP_GAUGE_STRING_LENGTH);\r
       mGaugeString[DP_GAUGE_STRING_LENGTH] = 0;\r
       return;\r