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