2 Implement a utility function named R8_EfiLibCompareLanguage.
4 Copyright (c) 2007 - 2008, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17 #include "HiiDatabase.h"
21 Compare whether two names of languages are identical.
23 @param Language1 Name of language 1
24 @param Language2 Name of language 2
27 @retval FALSE not same
31 R8_EfiLibCompareLanguage (
38 // This library interface is simply obsolete.
39 // Include the source code to user code.
43 for (Index
= 0; (Language1
[Index
] != 0) && (Language2
[Index
] != 0); Index
++) {
44 if (Language1
[Index
] != Language2
[Index
]) {
49 if (((Language1
[Index
] == 0) && (Language2
[Index
] == 0)) ||
50 ((Language1
[Index
] == 0) && (Language2
[Index
] != ';')) ||
51 ((Language1
[Index
] == ';') && (Language2
[Index
] != 0)) ||
52 ((Language1
[Index
] == ';') && (Language2
[Index
] != ';'))) {
61 Determine what is the current language setting. The space reserved for Lang
62 must be at least RFC_3066_ENTRY_SIZE bytes;
64 If Lang is NULL, then ASSERT.
66 @param Lang Pointer of system language. Lang will always be filled with
67 a valid RFC 3066 language string. If "PlatformLang" is not
68 set in the system, the default language specifed by PcdUefiVariableDefaultPlatformLang
71 @return EFI_SUCCESS If the EFI Variable with "PlatformLang" is set and return in Lang.
72 @return EFI_NOT_FOUND If the EFI Variable with "PlatformLang" is not set, but a valid default language is return in Lang.
84 ASSERT (Lang
!= NULL
);
87 // Get current language setting
89 Size
= RFC_3066_ENTRY_SIZE
;
90 Status
= gRT
->GetVariable (
92 &gEfiGlobalVariableGuid
,
98 if (EFI_ERROR (Status
)) {
99 AsciiStrCpy (Lang
, (CHAR8
*) PcdGetPtr (PcdUefiVariableDefaultPlatformLang
));