Reviewed-by: Liming Gao <[email protected]>

>-----Original Message-----
>From: Feng, Bob C
>Sent: Wednesday, January 31, 2018 5:45 PM
>To: [email protected]
>Cc: Feng, Bob C <[email protected]>; Gao, Liming <[email protected]>
>Subject: [Patch] BaseTool: Add comments in PcdValueInit.c.
>
>Add Comments for __FLEXIBLE_SIZE () statement.
>
>Contributed-under: TianoCore Contribution Agreement 1.1
>Signed-off-by: Bob Feng <[email protected]>
>Cc: Liming Gao <[email protected]>
>---
> BaseTools/Source/Python/Workspace/DscBuildData.py | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
>diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py
>b/BaseTools/Source/Python/Workspace/DscBuildData.py
>index 012e16a488..214e4fd569 100644
>--- a/BaseTools/Source/Python/Workspace/DscBuildData.py
>+++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
>@@ -1325,42 +1325,44 @@ class DscBuildData(PlatformBuildClassObject):
>                 for FieldName in FieldList:
>                     FieldName = "." + FieldName
>                     IsArray = 
> self.IsFieldValueAnArray(FieldList[FieldName.strip(".")][0])
>                     if IsArray:
>                         Value, ValueSize = ParseFieldValue
>(FieldList[FieldName.strip(".")][0])
>-                        CApp = CApp + '  __FLEXIBLE_SIZE(Size, %s, %s, %d /
>__ARRAY_ELEMENT_SIZE(%s, %s) + ((%d %%
>__ARRAY_ELEMENT_SIZE(%s, %s)) ? 1 : 0));\n' % (Pcd.DatumType,
>FieldName.strip("."), ValueSize, Pcd.DatumType, FieldName.strip("."),
>ValueSize, Pcd.DatumType, FieldName.strip("."));
>+                        CApp = CApp + '  __FLEXIBLE_SIZE(Size, %s, %s, %d /
>__ARRAY_ELEMENT_SIZE(%s, %s) + ((%d %%
>__ARRAY_ELEMENT_SIZE(%s, %s)) ? 1 : 0));  // From %s Line %d Value %s \n' %
>(Pcd.DatumType, FieldName.strip("."), ValueSize, Pcd.DatumType,
>FieldName.strip("."), ValueSize, Pcd.DatumType, FieldName.strip("."),
>FieldList[FieldName.strip(".")][1], FieldList[FieldName.strip(".")][2],
>FieldList[FieldName.strip(".")][0]);
>                     else:
>                         NewFieldName = ''
>+                        FieldName_ori = FieldName.strip('.')
>                         while '[' in  FieldName:
>                             NewFieldName = NewFieldName + 
> FieldName.split('[', 1)[0] +
>'[0]'
>                             ArrayIndex = int(FieldName.split('[', 
> 1)[1].split(']', 1)[0])
>                             FieldName = FieldName.split(']', 1)[1]
>                         FieldName = NewFieldName + FieldName
>                         while '[' in FieldName:
>                             FieldName = FieldName.rsplit('[', 1)[0]
>-                            CApp = CApp + '  __FLEXIBLE_SIZE(Size, %s, %s, 
>%d);\n' %
>(Pcd.DatumType, FieldName.strip("."), ArrayIndex + 1)
>+                            CApp = CApp + '  __FLEXIBLE_SIZE(Size, %s, %s, 
>%d); //
>From %s Line %d Value %s\n' % (Pcd.DatumType, FieldName.strip("."),
>ArrayIndex + 1, FieldList[FieldName_ori][1], FieldList[FieldName_ori][2],
>FieldList[FieldName_ori][0])
>             for skuname in self.SkuIdMgr.GetSkuChain(SkuName):
>                 inherit_OverrideValues = Pcd.SkuOverrideValues[skuname]
>                 for FieldList in 
> [inherit_OverrideValues.get(DefaultStoreName)]:
>                     if not FieldList:
>                         continue
>                     for FieldName in FieldList:
>                         FieldName = "." + FieldName
>                         IsArray =
>self.IsFieldValueAnArray(FieldList[FieldName.strip(".")][0])
>                         if IsArray:
>                             Value, ValueSize = ParseFieldValue
>(FieldList[FieldName.strip(".")][0])
>-                            CApp = CApp + '  __FLEXIBLE_SIZE(Size, %s, %s, %d 
>/
>__ARRAY_ELEMENT_SIZE(%s, %s) + ((%d %%
>__ARRAY_ELEMENT_SIZE(%s, %s)) ? 1 : 0));\n' % (Pcd.DatumType,
>FieldName.strip("."), ValueSize, Pcd.DatumType, FieldName.strip("."),
>ValueSize, Pcd.DatumType, FieldName.strip("."));
>+                            CApp = CApp + '  __FLEXIBLE_SIZE(Size, %s, %s, %d 
>/
>__ARRAY_ELEMENT_SIZE(%s, %s) + ((%d %%
>__ARRAY_ELEMENT_SIZE(%s, %s)) ? 1 : 0)); // From %s Line %d Value %s\n' %
>(Pcd.DatumType, FieldName.strip("."), ValueSize, Pcd.DatumType,
>FieldName.strip("."), ValueSize, Pcd.DatumType, FieldName.strip("."),
>FieldList[FieldName.strip(".")][1], FieldList[FieldName.strip(".")][2],
>FieldList[FieldName.strip(".")][0]);
>                         else:
>                             NewFieldName = ''
>+                            FieldName_ori = FieldName.strip('.')
>                             while '[' in  FieldName:
>                                 NewFieldName = NewFieldName + 
> FieldName.split('[', 1)[0] +
>'[0]'
>                                 ArrayIndex = int(FieldName.split('[', 
> 1)[1].split(']', 1)[0])
>                                 FieldName = FieldName.split(']', 1)[1]
>                             FieldName = NewFieldName + FieldName
>                             while '[' in FieldName:
>                                 FieldName = FieldName.rsplit('[', 1)[0]
>-                                CApp = CApp + '  __FLEXIBLE_SIZE(Size, %s, 
>%s, %d);\n' %
>(Pcd.DatumType, FieldName.strip("."), ArrayIndex + 1)
>+                                CApp = CApp + '  __FLEXIBLE_SIZE(Size, %s, 
>%s, %d); //
>From %s Line %d Value %s \n' % (Pcd.DatumType, FieldName.strip("."),
>ArrayIndex + 1, FieldList[FieldName_ori][1], FieldList[FieldName_ori][2],
>FieldList[FieldName_ori][0])
>                 if skuname == SkuName:
>                     break
>
>             #
>             # Allocate and zero buffer for the PCD
>--
>2.14.3.windows.1

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to