Reviewed-by: Liming Gao <liming....@intel.com> >-----Original Message----- >From: Feng, Bob C >Sent: Tuesday, August 28, 2018 6:23 PM >To: edk2-devel@lists.01.org >Cc: Feng, Bob C <bob.c.f...@intel.com>; Gao, Liming <liming....@intel.com> >Subject: [Patch] BaseTools: Fixed the PcdValue trailing zero issue. > >1. Not append trailing zero for PcdValue >2. make sure the point to Variable Name in PCD >DataBase 2 bytes aligned. > >Contributed-under: TianoCore Contribution Agreement 1.1 >Signed-off-by: Bob Feng <bob.c.f...@intel.com> >Cc: Liming Gao <liming....@intel.com> >--- > BaseTools/Source/Python/AutoGen/GenPcdDb.py | 6 ++++++ > BaseTools/Source/Python/Common/StringUtils.py | 7 +------ > 2 files changed, 7 insertions(+), 6 deletions(-) > >diff --git a/BaseTools/Source/Python/AutoGen/GenPcdDb.py >b/BaseTools/Source/Python/AutoGen/GenPcdDb.py >index 2176bbefeb..5b260cd515 100644 >--- a/BaseTools/Source/Python/AutoGen/GenPcdDb.py >+++ b/BaseTools/Source/Python/AutoGen/GenPcdDb.py >@@ -1182,10 +1182,16 @@ def CreatePcdDatabasePhaseSpecificAutoGen >(Platform, DynamicPcdList, Phase): > Pcd.InitString = 'INIT' > # Store all variable names of one HII PCD under different SKU > to >stringTable > # and calculate the VariableHeadStringIndex > > VariableNameStructure = StringToArray(Sku.VariableName) >+ >+ # Make pointer of VaraibleName(HII PCD) 2 bytes aligned >+ VariableNameStructureBytes = >VariableNameStructure.lstrip("{").rstrip("}").split(",") >+ if len(VariableNameStructureBytes) % 2: >+ VariableNameStructure = "{%s,0x00}" % >",".join(VariableNameStructureBytes) >+ > if VariableNameStructure not in Dict['STRING_TABLE_VALUE']: > Dict['STRING_TABLE_CNAME'].append(CName) > Dict['STRING_TABLE_GUID'].append(TokenSpaceGuid) > if StringTableIndex == 0: > Dict['STRING_TABLE_INDEX'].append('') >diff --git a/BaseTools/Source/Python/Common/StringUtils.py >b/BaseTools/Source/Python/Common/StringUtils.py >index da2949dbad..d5afde7a95 100644 >--- a/BaseTools/Source/Python/Common/StringUtils.py >+++ b/BaseTools/Source/Python/Common/StringUtils.py >@@ -833,16 +833,11 @@ def StringToArray(String): > if StringLen % 2: > return "{%s,0x00}" % ",".join("0x%02x" % ord(C) for C in > String[1:-1]) > else: > return "{%s,0x00,0x00}" % ",".join("0x%02x" % ord(C) for C in >String[1:-1]) > elif String.startswith('{'): >- StringLen = len(String.split(",")) >- if StringLen % 2: >- return "{%s,0x00}" % ",".join(C.strip() for C in >String[1:-1].split(',')) >- else: >- return "{%s}" % ",".join(C.strip() for C in >String[1:-1].split(',')) >- >+ return "{%s}" % ",".join(C.strip() for C in String[1:-1].split(',')) > else: > if len(String.split()) % 2: > return '{%s,0}' % ','.join(String.split()) > else: > return '{%s,0,0}' % ','.join(String.split()) >-- >2.16.2.windows.1
_______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel