Involve Dec default value to calculate Maxsize for structure PCD
Cc: Bob Feng <[email protected]>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Yonghong Zhu <[email protected]>
---
BaseTools/Source/Python/Workspace/BuildClassObject.py | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/BaseTools/Source/Python/Workspace/BuildClassObject.py
b/BaseTools/Source/Python/Workspace/BuildClassObject.py
index 88465c59ea..32d202de5e 100644
--- a/BaseTools/Source/Python/Workspace/BuildClassObject.py
+++ b/BaseTools/Source/Python/Workspace/BuildClassObject.py
@@ -91,10 +91,19 @@ class PcdClassObject(object):
return max([len(self.PcdValueFromComm)-2+1, MaxSize])
elif self.PcdValueFromComm.startswith("L\""):
return max([2*(len(self.PcdValueFromComm)-3+1), MaxSize])
else:
return max([len(self.PcdValueFromComm), MaxSize])
+ if hasattr(self, "DefaultValueFromDec"):
+ if self.DefaultValueFromDec.startswith("{") and
self.DefaultValueFromDec.endswith("}"):
+ return max([len(self.DefaultValueFromDec.split(",")), MaxSize])
+ elif self.DefaultValueFromDec.startswith("\"") or
self.DefaultValueFromDec.startswith("\'"):
+ return max([len(self.DefaultValueFromDec)-2+1, MaxSize])
+ elif self.DefaultValueFromDec.startswith("L\""):
+ return max([2*(len(self.DefaultValueFromDec)-3+1), MaxSize])
+ else:
+ return max([len(self.DefaultValueFromDec), MaxSize])
return MaxSize
## Get the number of bytes
def GetPcdSize(self):
if self.DatumType in TAB_PCD_NUMERIC_TYPES:
--
2.16.2.windows.1
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel