EFI_STATUS Status;\r
CHAR8 *PlatformLang;\r
\r
- GetEfiGlobalVariable2 (EFI_PLATFORM_LANG_VARIABLE_NAME, (VOID**)&PlatformLang, NULL);\r
- if (PlatformLang == NULL) {\r
- return EFI_UNSUPPORTED;\r
- }\r
-\r
if (gUnicodeCollation == NULL) {\r
+\r
+ GetEfiGlobalVariable2 (EFI_PLATFORM_LANG_VARIABLE_NAME, (VOID**)&PlatformLang, NULL);\r
+\r
Status = gBS->LocateHandleBuffer (\r
ByProtocol,\r
&gEfiUnicodeCollation2ProtocolGuid,\r
continue;\r
}\r
\r
+ //\r
+ // Without clue provided use the first Unicode Collation2 protocol.\r
+ //\r
+ if (PlatformLang == NULL) {\r
+ gUnicodeCollation = Uc;\r
+ break;\r
+ }\r
+\r
//\r
// Find the best matching matching language from the supported languages\r
// of Unicode Collation2 protocol.\r
if (Handles != NULL) {\r
FreePool (Handles);\r
}\r
- FreePool (PlatformLang);\r
+ if (PlatformLang != NULL) {\r
+ FreePool (PlatformLang);\r
+ }\r
}\r
\r
return (gUnicodeCollation == NULL) ? EFI_UNSUPPORTED : EFI_SUCCESS;\r
IN UINT32 ShellMinSupportLevel,\r
IN CONST CHAR16 *ProfileName,\r
IN CONST BOOLEAN CanAffectLE,\r
- IN CONST EFI_HANDLE HiiHandle,\r
+ IN CONST EFI_HII_HANDLE HiiHandle,\r
IN CONST EFI_STRING_ID ManFormatHelp\r
)\r
{\r