mirror of https://github.com/acidanthera/audk.git
BaseTools: Parse decimal format INF_VERSION incorrect
hex number 0x00010019, the major number is 0001, the minor number is 0019. the decimal number 1.25, the major number is 1, and the minor number is 25 Fix https://bugzilla.tianocore.org/show_bug.cgi?id=921 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: Yonghong Zhu <yonghong.zhu@intel.com>
This commit is contained in:
parent
07eba7069d
commit
f413763b6b
|
@ -376,9 +376,12 @@ class MetaFileParser(object):
|
||||||
self._Version = int(Value, 0)
|
self._Version = int(Value, 0)
|
||||||
elif decVersionPattern.match(Value):
|
elif decVersionPattern.match(Value):
|
||||||
ValueList = Value.split('.')
|
ValueList = Value.split('.')
|
||||||
Major = '%04o' % int(ValueList[0], 0)
|
Major = int(ValueList[0], 0)
|
||||||
Minor = '%04o' % int(ValueList[1], 0)
|
Minor = int(ValueList[1], 0)
|
||||||
self._Version = int('0x' + Major + Minor, 0)
|
if Major > 0xffff or Minor > 0xffff:
|
||||||
|
EdkLogger.error('Parser', FORMAT_INVALID, "Invalid version number",
|
||||||
|
ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex + 1)
|
||||||
|
self._Version = int('0x{0:04x}{1:04x}'.format(Major, Minor), 0)
|
||||||
else:
|
else:
|
||||||
EdkLogger.error('Parser', FORMAT_INVALID, "Invalid version number",
|
EdkLogger.error('Parser', FORMAT_INVALID, "Invalid version number",
|
||||||
ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex + 1)
|
ExtraData=self._CurrentLine, File=self.MetaFile, Line=self._LineIndex + 1)
|
||||||
|
|
Loading…
Reference in New Issue