aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/binman/bsection.py7
-rw-r--r--tools/binman/entry.py16
2 files changed, 16 insertions, 7 deletions
diff --git a/tools/binman/bsection.py b/tools/binman/bsection.py
index 49b8ef3e3e..3e3d369d5e 100644
--- a/tools/binman/bsection.py
+++ b/tools/binman/bsection.py
@@ -236,14 +236,15 @@ class Section(object):
Args:
name: Entry name to update
- offset: New offset
- size: New size
+ offset: New offset, or None to leave alone
+ size: New size, or None to leave alone
"""
entry = self._entries.get(name)
if not entry:
self._Raise("Unable to set offset/size for unknown entry '%s'" %
name)
- entry.SetOffsetSize(self._skip_at_start + offset, size)
+ entry.SetOffsetSize(self._skip_at_start + offset if offset else None,
+ size)
def GetEntryOffsets(self):
"""Handle entries that want to set the offset/size of other entries
diff --git a/tools/binman/entry.py b/tools/binman/entry.py
index 7ead997e0f..7356c49c62 100644
--- a/tools/binman/entry.py
+++ b/tools/binman/entry.py
@@ -368,13 +368,21 @@ class Entry(object):
Dict:
key: Entry type
value: List containing position and size of the given entry
- type.
+ type. Either can be None if not known
"""
return {}
- def SetOffsetSize(self, pos, size):
- self.offset = pos
- self.size = size
+ def SetOffsetSize(self, offset, size):
+ """Set the offset and/or size of an entry
+
+ Args:
+ offset: New offset, or None to leave alone
+ size: New size, or None to leave alone
+ """
+ if offset is not None:
+ self.offset = offset
+ if size is not None:
+ self.size = size
def SetImagePos(self, image_pos):
"""Set the position in the image