BaseTools: Handle the bytes and str difference
Deal with bytes and str is different, remove the unicode() Using utcfromtimestamp instead of fromtimestamp. Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Yunhua Feng <yunhuax.feng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
committed by
Yonghong Zhu
parent
a09f4c91f7
commit
86e6cf98a8
@@ -185,7 +185,7 @@ class PcdEntry:
|
||||
EdkLogger.error("BPDG", BuildToolError.RESOURCE_OVERFLOW,
|
||||
"PCD value string %s is exceed to size %d(File: %s Line: %s)" % (ValueString, Size, self.FileName, self.Lineno))
|
||||
try:
|
||||
self.PcdValue = pack('%ds' % Size, ValueString)
|
||||
self.PcdValue = pack('%ds' % Size, bytes(ValueString, 'utf-8'))
|
||||
except:
|
||||
EdkLogger.error("BPDG", BuildToolError.FORMAT_INVALID,
|
||||
"Invalid size or value for PCD %s to pack(File: %s Line: %s)." % (self.PcdCName, self.FileName, self.Lineno))
|
||||
@@ -656,7 +656,7 @@ class GenVPD :
|
||||
EdkLogger.error("BPDG", BuildToolError.FILE_OPEN_FAILURE, "File open failed for %s" % self.MapFileName, None)
|
||||
|
||||
# Use a instance of BytesIO to cache data
|
||||
fStringIO = BytesIO('')
|
||||
fStringIO = BytesIO()
|
||||
|
||||
# Write the header of map file.
|
||||
try :
|
||||
@@ -674,8 +674,7 @@ class GenVPD :
|
||||
# Write Vpd binary file
|
||||
fStringIO.seek (eachPcd.PcdBinOffset)
|
||||
if isinstance(eachPcd.PcdValue, list):
|
||||
ValueList = [chr(Item) for Item in eachPcd.PcdValue]
|
||||
fStringIO.write(''.join(ValueList))
|
||||
fStringIO.write(bytes(eachPcd.PcdValue))
|
||||
else:
|
||||
fStringIO.write (eachPcd.PcdValue)
|
||||
|
||||
|
Reference in New Issue
Block a user