From a89781204efb6d839e5d03d94725d3db362b5037 Mon Sep 17 00:00:00 2001 From: Tao Bao Date: Fri, 26 Jun 2015 17:49:39 -0700 Subject: [PATCH] sparse_img.py: Don't write empty map groups. In certain cases, we may have no mapping of ZERO or NONZERO blocks in the image (such as squashfs at the moment). Don't write those groups if they are empty. Change-Id: I82aa05fbbd79130b08868585edd5298e531c4f5a --- tools/releasetools/sparse_img.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tools/releasetools/sparse_img.py b/tools/releasetools/sparse_img.py index 49b3a67001..7019f00083 100644 --- a/tools/releasetools/sparse_img.py +++ b/tools/releasetools/sparse_img.py @@ -221,9 +221,14 @@ class SparseImage(object): nonzero_blocks.append(b) nonzero_blocks.append(b+1) - out["__ZERO"] = rangelib.RangeSet(data=zero_blocks) - out["__NONZERO"] = rangelib.RangeSet(data=nonzero_blocks) - out["__COPY"] = clobbered_blocks + assert zero_blocks or nonzero_blocks or clobbered_blocks + + if zero_blocks: + out["__ZERO"] = rangelib.RangeSet(data=zero_blocks) + if nonzero_blocks: + out["__NONZERO"] = rangelib.RangeSet(data=nonzero_blocks) + if clobbered_blocks: + out["__COPY"] = clobbered_blocks def ResetFileMap(self): """Throw away the file map and treat the entire image as