while (*LangStrings != 0) {\r
HiiLibGetNextLanguage (&LangStrings, Lang);\r
\r
+ //\r
+ // For each language supported by the package,\r
+ // a string token is created.\r
+ //\r
Status = mHiiStringProt->NewString (\r
mHiiStringProt,\r
PackageList,\r
while (*LangStrings != 0) {\r
HiiLibGetNextLanguage (&LangStrings, Lang);\r
\r
+ //\r
+ // For each language supported by the package,\r
+ // the string is updated.\r
+ //\r
Status = mHiiStringProt->SetString (\r
mHiiStringProt,\r
PackageList,\r
\r
Out:\r
if (HiiHandleBuffer != NULL) {\r
- gBS->FreePool (HiiHandleBuffer);\r
+ FreePool (HiiHandleBuffer);\r
}\r
return Status;\r
}\r
This function try to retrieve string from String package of current language.\r
If fails, it try to retrieve string from String package of first language it support.\r
\r
- If String is NULL, then ASSERT.\r
If StringSize is NULL, then ASSERT.\r
+ If String is NULL and *StringSize is not 0, then ASSERT.\r
If PackageList could not be found in the default HII database, then ASSERT.\r
If StringId is not found in PackageList, then ASSERT.\r
\r
@retval EFI_NOT_FOUND The string specified by StringId is not available.\r
@retval EFI_BUFFER_TOO_SMALL The buffer specified by StringLength is too small\r
to hold the string.\r
- @retval EFI_INVALID_PARAMETER The String or StringSize was NULL.\r
\r
**/\r
EFI_STATUS\r
CHAR8 Lang[RFC_3066_ENTRY_SIZE];\r
CHAR8 CurrentLang[RFC_3066_ENTRY_SIZE];\r
\r
- ASSERT (String != NULL);\r
ASSERT (StringSize != NULL);\r
+ ASSERT (!(*StringSize != 0 && String == NULL));\r
ASSERT (IsHiiHandleRegistered (PackageList));\r
\r
HiiLibGetCurrentLanguage (CurrentLang);\r
\r
LangStrings = Languages;\r
HiiLibGetNextLanguage (&LangStrings, Lang);\r
- gBS->FreePool (Languages);\r
+ FreePool (Languages);\r
\r
Status = mHiiStringProt->GetString (\r
mHiiStringProt,\r
\r
Status = HiiLibGetString (HiiHandle, StringId, *String, &StringSize);\r
if (Status == EFI_BUFFER_TOO_SMALL) {\r
- gBS->FreePool (*String);\r
+ FreePool (*String);\r
*String = AllocateZeroPool (StringSize);\r
if (*String == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
// Each entry is 5 CHAR8 values long. The first 3 CHAR8 values are the ISO 639-2 code.\r
// The last 2 CHAR8 values are the ISO 639-1 code.\r
//\r
-CHAR8 Iso639ToRfc3066ConversionTable[] =\r
+GLOBAL_REMOVE_IF_UNREFERENCED CONST CHAR8 Iso639ToRfc3066ConversionTable[] =\r
"\\r
aaraa\\r
abkab\\r