]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Fixed SCT test failed caused by driver sample.
authorydong10 <ydong10@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 23 May 2011 14:13:08 +0000 (14:13 +0000)
committerydong10 <ydong10@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 23 May 2011 14:13:08 +0000 (14:13 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11693 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Universal/DriverSampleDxe/DriverSample.c

index 618aa92dc90abf9935a0f8354abeed193c495343..83e669b9da5da5a114129a38e192d2eb56090c12 100644 (file)
@@ -444,7 +444,10 @@ CreateAltCfgString (
   EFI_STRING TmpStr;\r
   UINTN      NewLen;\r
 \r
-  NewLen = (((1 + StrLen (ConfigHdr) + 8 + 4) + (8 + 4 + 7 + 4 + 7 + 4)) * 2 + StrLen (Result)) * sizeof (CHAR16);\r
+  //\r
+  // String Len = ConfigResp + AltConfig + AltConfig + 1("\0")\r
+  //\r
+  NewLen = (StrLen (Result) + ((1 + StrLen (ConfigHdr) + 8 + 4) + (8 + 4 + 7 + 4 + 7 + 4)) * 2 + 1) * sizeof (CHAR16);\r
   StringPtr = AllocateZeroPool (NewLen);\r
   if (StringPtr == NULL) {\r
     return NULL;\r
@@ -599,8 +602,8 @@ AppendAltCfgString (
     }\r
 \r
     if (Offset <= ValueOffset && Offset + Width >= ValueOffset + ValueWidth) {\r
-      *RequestResult = CreateAltCfgString(*RequestResult, ConfigRequestHdr, Offset, Width);\r
-           return;\r
+      *RequestResult = CreateAltCfgString(*RequestResult, ConfigRequestHdr, ValueOffset, ValueWidth);\r
+      return;\r
     }\r
   }\r
 }\r
@@ -829,8 +832,10 @@ ExtractConfig (
                                   Results,\r
                                   Progress\r
                                   );\r
-    ConfigRequestHdr = HiiConstructConfigHdr (&mFormSetGuid, VariableName, PrivateData->DriverHandle[0]);\r
-    AppendAltCfgString(Results, ConfigRequestHdr);\r
+    if (!EFI_ERROR (Status)) {\r
+      ConfigRequestHdr = HiiConstructConfigHdr (&mFormSetGuid, VariableName, PrivateData->DriverHandle[0]);\r
+      AppendAltCfgString(Results, ConfigRequestHdr);\r
+    }\r
   }\r
 \r
   //\r