]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/AutoGen/GenC.py
BaseTools: Fix the bug for VOID* pcd max size from component section
[mirror_edk2.git] / BaseTools / Source / Python / AutoGen / GenC.py
index 3b17ec18950618982a23d6f1691d1ddedbb5a780..58da9e6b1784a9573997d5814bc715ec768632d7 100644 (file)
@@ -1109,9 +1109,14 @@ def CreateModulePcdCode(Info, AutoGenC, AutoGenH, Pcd):
                     ArraySize = ArraySize / 2;\r
 \r
                 if ArraySize < (len(Value) + 1):\r
-                    EdkLogger.error("build", AUTOGEN_ERROR,\r
+                    if Pcd.MaxSizeUserSet:\r
+                        EdkLogger.error("build", AUTOGEN_ERROR,\r
                                     "The maximum size of VOID* type PCD '%s.%s' is less than its actual size occupied." % (Pcd.TokenSpaceGuidCName, TokenCName),\r
                                     ExtraData="[%s]" % str(Info))\r
+                    else:\r
+                        ArraySize = GetPcdSize(Pcd)\r
+                        if Unicode:\r
+                            ArraySize = ArraySize / 2\r
                 Value = NewValue + '0 }'\r
             Array = '[%d]' % ArraySize\r
         #\r