BaseTools: Fix bug for --pcd VOID* type when no max size is specified

when VOID* type non-structure pcd used in --pcd, and its max size is not
specified in DSC or its value is hex value, build break due to the code
int(Pcd.MaxDatumSize,10).
Now this patch remove this code, because tool will calculate the size
info in later phase.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
Yonghong Zhu 2018-03-20 13:16:12 +08:00
parent b7bfcd1a7e
commit 29d521b9fa
1 changed files with 0 additions and 13 deletions

View File

@ -1254,19 +1254,6 @@ class DscBuildData(PlatformBuildClassObject):
SkuInfo.HiiDefaultValue = NoFiledValues[(Pcd.TokenSpaceGuidCName,Pcd.TokenCName)][0]
for defaultstore in SkuInfo.DefaultStoreDict:
SkuInfo.DefaultStoreDict[defaultstore] = NoFiledValues[(Pcd.TokenSpaceGuidCName,Pcd.TokenCName)][0]
if Pcd.DatumType == "VOID*":
if Pcd.MaxDatumSize is None:
Pcd.MaxDatumSize = '0'
MaxSize = int(Pcd.MaxDatumSize,10)
if Pcd.DefaultValue.startswith("{") and Pcd.DefaultValue.endswith("}"):
MaxSize = max([len(Pcd.DefaultValue.split(",")),MaxSize])
elif Pcd.DefaultValue.startswith("\"") or Pcd.DefaultValue.startswith("\'"):
MaxSize = max([len(Pcd.DefaultValue)-2+1,MaxSize])
elif Pcd.DefaultValue.startswith("L\""):
MaxSize = max([2*(len(Pcd.DefaultValue)-3+1),MaxSize])
else:
MaxSize = max([len(Pcd.DefaultValue),MaxSize])
Pcd.MaxDatumSize = str(MaxSize)
else:
PcdInDec = self.DecPcds.get((Name,Guid))
if PcdInDec: