]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/HiiDatabaseDxe/ConfigRouting.c
Update HiiBlockToConfig function to follow spec.
[mirror_edk2.git] / MdeModulePkg / Universal / HiiDatabaseDxe / ConfigRouting.c
index b3e4f821380e3d0d2c155468a466a063c5ab7e92..6d9aec99076e4d6fd55b320391322a92d4cf1f69 100644 (file)
@@ -3393,6 +3393,7 @@ HiiBlockToConfig (
   UINTN                               Index;\r
   UINT8                               *TemBuffer;\r
   CHAR16                              *TemString;\r
+  CHAR16                              TemChar;\r
 \r
   if (This == NULL || Progress == NULL || Config == NULL) {\r
     return EFI_INVALID_PARAMETER;\r
@@ -3442,8 +3443,12 @@ HiiBlockToConfig (
     StringPtr++;\r
   }\r
   if (*StringPtr == 0) {\r
-    *Progress = StringPtr - 1;\r
-    Status = EFI_INVALID_PARAMETER;\r
+    *Progress = StringPtr;\r
+    Status = EFI_SUCCESS;\r
+\r
+    AppendToMultiString(Config, ConfigRequest);\r
+    HiiToLower (*Config);\r
+\r
     goto Exit;\r
   }\r
   //\r
@@ -3454,8 +3459,10 @@ HiiBlockToConfig (
   //\r
   // Copy <ConfigHdr> and an additional '&' to <ConfigResp>\r
   //\r
-  Length = StringPtr - ConfigRequest;\r
-  CopyMem (*Config, ConfigRequest, Length * sizeof (CHAR16));\r
+  TemChar = *StringPtr;\r
+  *StringPtr = '\0';\r
+  AppendToMultiString(Config, ConfigRequest);\r
+  *StringPtr = TemChar;\r
 \r
   //\r
   // Parse each <RequestElement> if exists\r