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:
@ -156,7 +156,14 @@ def GetDependencyList(FileStack, SearchPathList):
|
||||
continue
|
||||
|
||||
if FileContent[0] == 0xff or FileContent[0] == 0xfe:
|
||||
FileContent = unicode(FileContent, "utf-16")
|
||||
FileContent = FileContent.decode('utf-16')
|
||||
IncludedFileList = gIncludePattern.findall(FileContent)
|
||||
else:
|
||||
try:
|
||||
FileContent = str(FileContent)
|
||||
IncludedFileList = gIncludePattern.findall(FileContent)
|
||||
except:
|
||||
pass
|
||||
IncludedFileList = gIncludePattern.findall(FileContent)
|
||||
|
||||
for Inc in IncludedFileList:
|
||||
@ -1615,7 +1622,7 @@ class DscBuildData(PlatformBuildClassObject):
|
||||
FdfInfList = GlobalData.gFdfParser.Profile.InfList
|
||||
FdfModuleList = [PathClass(NormPath(Inf), GlobalData.gWorkspace, Arch=self._Arch) for Inf in FdfInfList]
|
||||
AllModulePcds = set()
|
||||
ModuleSet = set(self._Modules.keys() + FdfModuleList)
|
||||
ModuleSet = set(list(self._Modules.keys()) + FdfModuleList)
|
||||
for ModuleFile in ModuleSet:
|
||||
ModuleData = self._Bdb[ModuleFile, self._Arch, self._Target, self._Toolchain]
|
||||
AllModulePcds = AllModulePcds | ModuleData.PcdsName
|
||||
@ -1743,7 +1750,7 @@ class DscBuildData(PlatformBuildClassObject):
|
||||
except:
|
||||
EdkLogger.error('Build', COMMAND_FAILURE, 'Can not execute command: %s' % Command)
|
||||
Result = Process.communicate()
|
||||
return Process.returncode, Result[0], Result[1]
|
||||
return Process.returncode, Result[0].decode(encoding='utf-8', errors='ignore'), Result[1].decode(encoding='utf-8', errors='ignore')
|
||||
|
||||
@staticmethod
|
||||
def IntToCString(Value, ValueSize):
|
||||
|
Reference in New Issue
Block a user