]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Compatibility/FrameworkHiiOnUefiHiiThunk/ConfigAccess.c
Add comments for the inconsistent definition with framework specification.
[mirror_edk2.git] / EdkCompatibilityPkg / Compatibility / FrameworkHiiOnUefiHiiThunk / ConfigAccess.c
index 117d6ea636ebd000f05920020a05e410061294de..2dd202bb390aa9b30eec8fec379b5d65e8872624 100644 (file)
@@ -189,7 +189,7 @@ GetStorageFromConfigString (
       Name = Storage->Name;\r
     }\r
     \r
-    if (IsConfigHdrMatch (ConfigString, &Storage->Guid, Name)) {\r
+    if (HiiIsConfigHdrMatch (ConfigString, &Storage->Guid, Name)) {\r
       return Storage;\r
     }\r
 \r
@@ -671,10 +671,8 @@ CreateIfrDataArray (
   FRAMEWORK_EFI_IFR_DATA_ARRAY      *IfrDataArray;\r
   FRAMEWORK_EFI_IFR_DATA_ENTRY      *IfrDataEntry;\r
   UINTN                             BrowserDataSize;\r
-  FORMSET_STORAGE                  *BufferStorage;\r
-  EFI_STATUS                        Status;\r
+  FORMSET_STORAGE                   *BufferStorage;\r
   UINTN                             Size;\r
-  UINTN                             StringSize;\r
   EFI_STRING                        String;\r
 \r
   *NvMapAllocated = FALSE;\r
@@ -691,17 +689,14 @@ CreateIfrDataArray (
       break;\r
 \r
     case EFI_IFR_TYPE_STRING:\r
-      StringSize = 0;\r
-      Status = HiiLibGetString (ConfigAccess->ThunkContext->UefiHiiHandle, Value->string, String, &StringSize);\r
-      ASSERT (Status == EFI_BUFFER_TOO_SMALL);\r
-\r
-      String = AllocateZeroPool (StringSize);\r
-      ASSERT (String != NULL);\r
-\r
-      Status = HiiLibGetString (ConfigAccess->ThunkContext->UefiHiiHandle, Value->string, String, &StringSize);\r
-      ASSERT_EFI_ERROR (Status);\r
+      if (Value->string == 0) {\r
+        Size = 0;\r
+      } else {\r
+        String = HiiGetString (ConfigAccess->ThunkContext->UefiHiiHandle, Value->string, NULL);\r
+        ASSERT (String != NULL);\r
 \r
-      Size = StringSize;\r
+        Size = StrSize (String);\r
+      }\r
       break;\r
       \r
     default:\r
@@ -734,9 +729,7 @@ CreateIfrDataArray (
       IfrDataArray->NvRamMap = ConfigAccess->ThunkContext->NvMapOverride;\r
     }\r
     \r
-    Status = GetBrowserData (&BufferStorage->Guid, BufferStorage->Name, &BrowserDataSize, IfrDataArray->NvRamMap);\r
-    ASSERT_EFI_ERROR (Status);\r
-\r
+    ASSERT (HiiGetBrowserData (&BufferStorage->Guid, BufferStorage->Name, BrowserDataSize, (UINT8 *) IfrDataArray->NvRamMap));\r
     IfrDataEntry = (FRAMEWORK_EFI_IFR_DATA_ENTRY *) (IfrDataArray + 1);\r
 \r
     switch (Type) {\r
@@ -749,9 +742,11 @@ CreateIfrDataArray (
         break;\r
 \r
       case EFI_IFR_TYPE_STRING:\r
-        ASSERT (String != NULL);\r
-        StrCpy ((CHAR16 *) &IfrDataEntry->Data, String);\r
-        FreePool (String);\r
+        if (Size != 0) {\r
+          ASSERT (String != NULL);\r
+          StrCpy ((CHAR16 *) &IfrDataEntry->Data, String);\r
+          FreePool (String);\r
+        }\r
         break;\r
       default:\r
         ASSERT (FALSE);\r
@@ -791,9 +786,9 @@ SyncBrowserDataForNvMapOverride (
   IN          EFI_QUESTION_ID               QuestionId\r
   )\r
 {\r
-  FORMSET_STORAGE                  *BufferStorage;\r
-  EFI_STATUS                        Status;\r
-  UINTN                             BrowserDataSize;\r
+  FORMSET_STORAGE   *BufferStorage;\r
+  BOOLEAN           CheckFlag;\r
+  UINTN             BrowserDataSize;\r
 \r
   if (ConfigAccess->ThunkContext->NvMapOverride != NULL) {\r
 \r
@@ -815,8 +810,8 @@ SyncBrowserDataForNvMapOverride (
     \r
     BrowserDataSize = BufferStorage->Size;\r
 \r
-    Status = SetBrowserData (&BufferStorage->Guid, BufferStorage->Name, BrowserDataSize, ConfigAccess->ThunkContext->NvMapOverride, NULL);\r
-    ASSERT_EFI_ERROR (Status);\r
+    CheckFlag = HiiSetBrowserData (&BufferStorage->Guid, BufferStorage->Name, BrowserDataSize, ConfigAccess->ThunkContext->NvMapOverride, NULL);\r
+    ASSERT (CheckFlag);\r
   }\r
 \r
 }\r
@@ -1063,7 +1058,7 @@ ThunkCallback (
   if (EFI_ERROR (Status)) {\r
     if (Packet != NULL) {\r
       do {\r
-        IfrLibCreatePopUp (1, &Key, Packet->String);\r
+        CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, Packet->String, NULL);\r
       } while (Key.UnicodeChar != CHAR_CARRIAGE_RETURN);\r
     }\r
     //\r