mkbootimg: use int for os_version and os_patch_level
The parse_int function attempts to interpret the string to detect
base, which leads to it assuming strings starting with 0 are base
8. This obviously fails for certain dates, so use int instead.
Bug: 27498078
Bug: 22914603
Change-Id: I50b1fb3d7876f2ec17d00649cc9a2d23af2aec2b
diff --git a/mkbootimg/mkbootimg b/mkbootimg/mkbootimg
index 7b04bcc..5a13da2 100755
--- a/mkbootimg/mkbootimg
+++ b/mkbootimg/mkbootimg
@@ -102,12 +102,12 @@
def parse_os_version(x):
match = re.search(r'^(\d{1,3})(?:\.(\d{1,3})(?:\.(\d{1,3}))?)?', x)
if match:
- a = parse_int(match.group(1))
+ a = int(match.group(1))
b = c = 0
if match.lastindex >= 2:
- b = parse_int(match.group(2))
+ b = int(match.group(2))
if match.lastindex == 3:
- c = parse_int(match.group(3))
+ c = int(match.group(3))
# 7 bits allocated for each field
assert a < 128
assert b < 128
@@ -118,8 +118,8 @@
def parse_os_patch_level(x):
match = re.search(r'^(\d{4})-(\d{2})-(\d{2})', x)
if match:
- y = parse_int(match.group(1)) - 2000
- m = parse_int(match.group(2))
+ y = int(match.group(1)) - 2000
+ m = int(match.group(2))
# 7 bits allocated for the year, 4 bits for the month
assert y >= 0 and y < 128
assert m > 0 and m <= 12