diff options
Diffstat (limited to 'MdePkg/Library/HiiLib/HiiLib.c')
-rw-r--r-- | MdePkg/Library/HiiLib/HiiLib.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/MdePkg/Library/HiiLib/HiiLib.c b/MdePkg/Library/HiiLib/HiiLib.c index be3a31704d..2eae82fec8 100644 --- a/MdePkg/Library/HiiLib/HiiLib.c +++ b/MdePkg/Library/HiiLib/HiiLib.c @@ -93,7 +93,10 @@ InternalHiiLibPreparePackages ( PackageListLength = sizeof (EFI_HII_PACKAGE_LIST_HEADER);
MarkerBackup = Marker;
-
+
+ //
+ // Count the lenth of the final package list.
+ //
for (Index = 0; Index < NumberOfPackages; Index++) {
CopyMem (&PackageLength, VA_ARG (Marker, VOID *), sizeof (UINT32));
//
@@ -115,6 +118,9 @@ InternalHiiLibPreparePackages ( PackageListData = ((UINT8 *) PackageListHeader) + sizeof (EFI_HII_PACKAGE_LIST_HEADER);
Marker = MarkerBackup;
+ //
+ // Prepare the final package list.
+ //
for (Index = 0; Index < NumberOfPackages; Index++) {
PackageArray = (UINT8 *) VA_ARG (Marker, VOID *);
CopyMem (&PackageLength, PackageArray, sizeof (UINT32));
|