summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/HiiDatabaseDxe
diff options
context:
space:
mode:
authorydong10 <ydong10@6f19259b-4bc3-4df7-8a09-765794883524>2011-09-01 08:19:55 +0000
committerydong10 <ydong10@6f19259b-4bc3-4df7-8a09-765794883524>2011-09-01 08:19:55 +0000
commit41ff10dc06ae11f5e47094c67f1160a29dd8851c (patch)
tree7726739edff42fdc92ff36a4137350ccab38178b /MdeModulePkg/Universal/HiiDatabaseDxe
parent25dd150b585f0bc498482dc00325cf9b67362665 (diff)
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
Diffstat (limited to 'MdeModulePkg/Universal/HiiDatabaseDxe')
-rw-r--r--MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c b/MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c
index b3e4f8213..6d9aec990 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 <ConfigHdr> and an additional '&' to <ConfigResp>
//
- Length = StringPtr - ConfigRequest;
- CopyMem (*Config, ConfigRequest, Length * sizeof (CHAR16));
+ TemChar = *StringPtr;
+ *StringPtr = '\0';
+ AppendToMultiString(Config, ConfigRequest);
+ *StringPtr = TemChar;
//
// Parse each <RequestElement> if exists