]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootOption.c
MdeModulePkg: Refine the code in BootMaintenanceManagerUiLib
[mirror_edk2.git] / MdeModulePkg / Library / BootMaintenanceManagerUiLib / BootOption.c
index a375d61dd3963bfeba0745d6132e530568a7a2a9..5665d040889ba406d293577fd96573b55087c7d5 100644 (file)
@@ -5,7 +5,7 @@
 \r
   Boot option manipulation\r
 \r
-Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -116,7 +116,6 @@ BOpt_DestroyMenuEntry (
   case BM_LOAD_CONTEXT_SELECT:\r
     LoadContext = (BM_LOAD_CONTEXT *) MenuEntry->VariableContext;\r
     FreePool (LoadContext->FilePathList);\r
-    FreePool (LoadContext->LoadOption);\r
     if (LoadContext->OptionalData != NULL) {\r
       FreePool (LoadContext->OptionalData);\r
     }\r
@@ -336,7 +335,6 @@ BOpt_GetBootOptions (
     LoadOptionEnd                       = LoadOption + BootOptionSize;\r
 \r
     NewMenuEntry->OptionNumber          = BootOrderList[Index];\r
-    NewLoadContext->LoadOptionModified  = FALSE;\r
     NewLoadContext->Deleted             = FALSE;\r
     NewLoadContext->IsBootNext          = BootNextFlag;\r
 \r
@@ -374,13 +372,8 @@ BOpt_GetBootOptions (
     // for easy use with following LOAD_OPTION\r
     // embedded in this struct\r
     //\r
-    NewLoadContext->LoadOption      = LoadOption;\r
-    NewLoadContext->LoadOptionSize  = BootOptionSize;\r
 \r
     NewLoadContext->Attributes      = *(UINT32 *) LoadOptionPtr;\r
-    NewLoadContext->IsActive        = (BOOLEAN) (NewLoadContext->Attributes & LOAD_OPTION_ACTIVE);\r
-\r
-    NewLoadContext->ForceReconnect  = (BOOLEAN) (NewLoadContext->Attributes & LOAD_OPTION_FORCE_RECONNECT);\r
 \r
     LoadOptionPtr += sizeof (UINT32);\r
 \r
@@ -426,8 +419,6 @@ BOpt_GetBootOptions (
         LoadOptionPtr,\r
         OptionalDataSize\r
         );\r
-\r
-      NewLoadContext->OptionalDataSize = OptionalDataSize;\r
     }\r
 \r
     InsertTailList (&BootOptionMenu.Head, &NewMenuEntry->Link);\r
@@ -441,6 +432,8 @@ BOpt_GetBootOptions (
   if (BootOrderList != NULL) {\r
     FreePool (BootOrderList);\r
   }\r
+\r
+  FreePool(LoadOption);\r
   BootOptionMenu.MenuNumber = MenuCount;\r
   return EFI_SUCCESS;\r
 }\r
@@ -708,7 +701,6 @@ BOpt_GetDriverOptions (
     LoadOptionPtr                       = LoadOption;\r
     LoadOptionEnd                       = LoadOption + DriverOptionSize;\r
     NewMenuEntry->OptionNumber          = DriverOrderList[Index];\r
-    NewLoadContext->LoadOptionModified  = FALSE;\r
     NewLoadContext->Deleted             = FALSE;\r
     NewLoadContext->IsLegacy            = FALSE;\r
 \r
@@ -717,13 +709,8 @@ BOpt_GetDriverOptions (
     // for easy use with following LOAD_OPTION\r
     // embedded in this struct\r
     //\r
-    NewLoadContext->LoadOption      = LoadOption;\r
-    NewLoadContext->LoadOptionSize  = DriverOptionSize;\r
 \r
     NewLoadContext->Attributes      = *(UINT32 *) LoadOptionPtr;\r
-    NewLoadContext->IsActive        = (BOOLEAN) (NewLoadContext->Attributes & LOAD_OPTION_ACTIVE);\r
-\r
-    NewLoadContext->ForceReconnect  = (BOOLEAN) (NewLoadContext->Attributes & LOAD_OPTION_FORCE_RECONNECT);\r
 \r
     LoadOptionPtr += sizeof (UINT32);\r
 \r
@@ -771,7 +758,6 @@ BOpt_GetDriverOptions (
         OptionalDataSize\r
         );\r
 \r
-      NewLoadContext->OptionalDataSize = OptionalDataSize;\r
     }\r
 \r
     InsertTailList (&DriverOptionMenu.Head, &NewMenuEntry->Link);\r
@@ -781,6 +767,7 @@ BOpt_GetDriverOptions (
   if (DriverOrderList != NULL) {\r
     FreePool (DriverOrderList);\r
   }\r
+  FreePool(LoadOption);\r
   DriverOptionMenu.MenuNumber = Index;\r
   return EFI_SUCCESS;\r
 \r