BaseTools: Handle the bytes and str difference
Deal with bytes and str is different, remove the unicode(), correct open file parameter. Using utcfromtimestamp instead of fromtimestamp. Cc: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Yonghong Zhu <yonghong.zhu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com> Tested-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Bob Feng <bob.c.feng@intel.com>
This commit is contained in:
@ -1038,17 +1038,21 @@ cleanlib:
|
||||
CurrentFileDependencyList = DepDb[F]
|
||||
else:
|
||||
try:
|
||||
Fd = open(F.Path, 'r')
|
||||
Fd = open(F.Path, 'rb')
|
||||
FileContent = Fd.read()
|
||||
Fd.close()
|
||||
except BaseException as X:
|
||||
EdkLogger.error("build", FILE_OPEN_FAILURE, ExtraData=F.Path + "\n\t" + str(X))
|
||||
|
||||
FileContent = Fd.read()
|
||||
Fd.close()
|
||||
if len(FileContent) == 0:
|
||||
continue
|
||||
|
||||
if FileContent[0] == 0xff or FileContent[0] == 0xfe:
|
||||
FileContent = unicode(FileContent, "utf-16")
|
||||
FileContent = FileContent.decode('utf-16')
|
||||
else:
|
||||
try:
|
||||
FileContent = str(FileContent)
|
||||
except:
|
||||
pass
|
||||
IncludedFileList = gIncludePattern.findall(FileContent)
|
||||
|
||||
for Inc in IncludedFileList:
|
||||
|
Reference in New Issue
Block a user