]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/HiiLib/HiiString.c
Fix a bug in the assert condition.
[mirror_edk2.git] / MdePkg / Library / HiiLib / HiiString.c
index 05e9aa8b6829b27bb9ed6ea575d7dabad9213d70..af867e1a1aaf9100db30ac2d68b2897b335ca12b 100644 (file)
@@ -57,6 +57,10 @@ HiiLibNewString (
   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
@@ -119,6 +123,10 @@ HiiLibSetString (
   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
@@ -195,7 +203,7 @@ HiiLibGetStringFromToken (
 \r
 Out:\r
   if (HiiHandleBuffer != NULL) {\r
-    gBS->FreePool (HiiHandleBuffer);\r
+    FreePool (HiiHandleBuffer);\r
   }\r
   return Status;\r
 }\r
@@ -204,8 +212,8 @@ Out:
   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
@@ -222,7 +230,6 @@ Out:
   @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
@@ -240,8 +247,8 @@ HiiLibGetString (
   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
@@ -262,7 +269,7 @@ HiiLibGetString (
     \r
     LangStrings = Languages;\r
     HiiLibGetNextLanguage (&LangStrings, Lang);\r
-    gBS->FreePool (Languages);\r
+    FreePool (Languages);\r
 \r
     Status = mHiiStringProt->GetString (\r
                                  mHiiStringProt,\r
@@ -318,7 +325,7 @@ HiiLibGetStringFromHandle (
 \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
@@ -336,7 +343,7 @@ HiiLibGetStringFromHandle (
 // 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