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.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
Feng, Bob C
2018-08-28 18:22:45 +08:00
committed by Liming Gao
parent 7c19378762
commit 4cf022f2f1
2 changed files with 7 additions and 6 deletions

View File

@ -1184,6 +1184,12 @@ def CreatePcdDatabasePhaseSpecificAutoGen (Platform, DynamicPcdList, Phase):
# 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)