From 41ff10dc06ae11f5e47094c67f1160a29dd8851c Mon Sep 17 00:00:00 2001 From: ydong10 Date: Thu, 1 Sep 2011 08:19:55 +0000 Subject: Update HiiBlockToConfig function to follow spec. Signed-off-by: ydong10 Reviewed-by: lgao4 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12249 6f19259b-4bc3-4df7-8a09-765794883524 --- MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c b/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c index b3e4f82138..6d9aec9907 100644 --- a/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c +++ b/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c @@ -3393,6 +3393,7 @@ HiiBlockToConfig ( UINTN Index; UINT8 *TemBuffer; CHAR16 *TemString; + CHAR16 TemChar; if (This == NULL || Progress == NULL || Config == NULL) { return EFI_INVALID_PARAMETER; @@ -3442,8 +3443,12 @@ HiiBlockToConfig ( StringPtr++; } if (*StringPtr == 0) { - *Progress = StringPtr - 1; - Status = EFI_INVALID_PARAMETER; + *Progress = StringPtr; + Status = EFI_SUCCESS; + + AppendToMultiString(Config, ConfigRequest); + HiiToLower (*Config); + goto Exit; } // @@ -3454,8 +3459,10 @@ HiiBlockToConfig ( // // Copy and an additional '&' to // - Length = StringPtr - ConfigRequest; - CopyMem (*Config, ConfigRequest, Length * sizeof (CHAR16)); + TemChar = *StringPtr; + *StringPtr = '\0'; + AppendToMultiString(Config, ConfigRequest); + *StringPtr = TemChar; // // Parse each if exists -- cgit v1.2.3