Reviewed-by: Jaben Carsey <jaben.car...@intel.com>
> -----Original Message----- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Zhaozh1x > Sent: Wednesday, October 17, 2018 10:09 PM > To: edk2-devel@lists.01.org > Cc: Gao, Liming <liming....@intel.com> > Subject: [edk2] [PATCH V2] BaseTools: Convert "Unicode string" to "byte > array" if value type diff > > V2: > Fixed 3 typo. > Use startswith(('L"',"L'")) to check if a string is Unicode string. > Use a set PcdValueTypeSet instead of a list PcdValueTypeList to save > memory. > > V1: > For the same one VOID* pcd, if the default value type of one SKU is > "Unicode string", the other SKUs are "OtherVOID*"(ASCII string or > byte array),Then convert "Unicode string" to "byte array". > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: ZhiqiangX Zhao <zhiqiangx.z...@intel.com> > Cc: Liming Gao <liming....@intel.com> > Cc: Yonghong Zhu <yonghong....@intel.com> > Cc: Bob Feng <bob.c.f...@intel.com> > --- > BaseTools/Source/Python/Workspace/DscBuildData.py | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py > b/BaseTools/Source/Python/Workspace/DscBuildData.py > index 7854e71db6..9b9ace9b56 100644 > --- a/BaseTools/Source/Python/Workspace/DscBuildData.py > +++ b/BaseTools/Source/Python/Workspace/DscBuildData.py > @@ -2877,6 +2877,15 @@ class DscBuildData(PlatformBuildClassObject): > elif TAB_DEFAULT in pcd.SkuInfoList and TAB_COMMON in > pcd.SkuInfoList: > del pcd.SkuInfoList[TAB_COMMON] > > + #For the same one VOID* pcd, if the default value type of one SKU is > "Unicode string", > + #the other SKUs are "OtherVOID*"(ASCII string or byte array),Then > convert "Unicode string" to "byte array". > + for pcd in Pcds.values(): > + PcdValueTypeSet = set() > + for sku in pcd.SkuInfoList.values(): > + PcdValueTypeSet.add("UnicodeString" if > sku.DefaultValue.startswith(('L"',"L'")) else "OtherVOID*") > + if len(PcdValueTypeSet) > 1: > + for sku in pcd.SkuInfoList.values(): > + sku.DefaultValue = StringToArray(sku.DefaultValue) if > sku.DefaultValue.startswith(('L"',"L'")) else sku.DefaultValue > > map(self.FilterSkuSettings, Pcds.values()) > return Pcds > -- > 2.14.1.windows.1 > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel