Result = Result + '"'\r
return Result\r
\r
- @staticmethod\r
- def GetPcdMaxSize(Pcd):\r
- if Pcd.DatumType in TAB_PCD_NUMERIC_TYPES:\r
- return MAX_SIZE_TYPE[Pcd.DatumType]\r
-\r
- MaxSize = int(Pcd.MaxDatumSize,10) if Pcd.MaxDatumSize else 0\r
- if Pcd.PcdValueFromComm:\r
- if Pcd.PcdValueFromComm.startswith("{") and Pcd.PcdValueFromComm.endswith("}"):\r
- return max([len(Pcd.PcdValueFromComm.split(",")),MaxSize])\r
- elif Pcd.PcdValueFromComm.startswith("\"") or Pcd.PcdValueFromComm.startswith("\'"):\r
- return max([len(Pcd.PcdValueFromComm)-2+1,MaxSize])\r
- elif Pcd.PcdValueFromComm.startswith("L\""):\r
- return max([2*(len(Pcd.PcdValueFromComm)-3+1),MaxSize])\r
- else:\r
- return max([len(Pcd.PcdValueFromComm),MaxSize])\r
- return MaxSize\r
-\r
def GenerateSizeFunction(self,Pcd):\r
CApp = "// Default Value in Dec \n"\r
CApp = CApp + "void Cal_%s_%s_Size(UINT32 *Size){\n" % (Pcd.TokenSpaceGuidCName, Pcd.TokenCName)\r
while '[' in FieldName:\r
FieldName = FieldName.rsplit('[', 1)[0]\r
CApp = CApp + ' __FLEXIBLE_SIZE(*Size, %s, %s, %d); // From %s Line %d Value %s \n' % (Pcd.DatumType, FieldName.strip("."), ArrayIndex + 1, Pcd.PcdFieldValueFromComm[FieldName_ori][1], Pcd.PcdFieldValueFromComm[FieldName_ori][2], Pcd.PcdFieldValueFromComm[FieldName_ori][0])\r
- CApp = CApp + " *Size = (%d > *Size ? %d : *Size); // The Pcd maxsize is %d \n" % (DscBuildData.GetPcdMaxSize(Pcd),DscBuildData.GetPcdMaxSize(Pcd),DscBuildData.GetPcdMaxSize(Pcd))\r
+ CApp = CApp + " *Size = (%d > *Size ? %d : *Size); // The Pcd maxsize is %d \n" % (Pcd.GetPcdMaxSize(),Pcd.GetPcdMaxSize(),Pcd.GetPcdMaxSize())\r
CApp = CApp + "}\n"\r
return CApp\r
\r