diff options
| author | Peter LaFosse <peter@vector35.com> | 2022-03-04 14:53:33 -0500 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2022-03-04 15:43:58 -0500 |
| commit | 1107abf9d0dc949928e573aadf11dac24133390a (patch) | |
| tree | 889e37ae778b9473397572ed5848623165af6260 /python/binaryview.py | |
| parent | 19c48bcbd20f3247bb273829df6a13580bf06e2c (diff) | |
Add a few optimizations to the python API for querying platform
Diffstat (limited to 'python/binaryview.py')
| -rw-r--r-- | python/binaryview.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/python/binaryview.py b/python/binaryview.py index e94aff30..7a62aa57 100644 --- a/python/binaryview.py +++ b/python/binaryview.py @@ -1706,6 +1706,7 @@ class BinaryView: self._notifications = {} self._parse_only = False self._preload_limit = 5 + self._platform = None def __enter__(self): return self @@ -2101,7 +2102,9 @@ class BinaryView: plat = core.BNGetDefaultPlatform(self.handle) if plat is None: return None - return _platform.Platform(self.arch, handle=plat) + if self._platform is None: + self._platform = _platform.Platform(self.arch, handle=plat) + return self._platform @platform.setter def platform(self, value: Optional['_platform.Platform']) -> None: @@ -2109,6 +2112,7 @@ class BinaryView: core.BNSetDefaultPlatform(self.handle, None) else: core.BNSetDefaultPlatform(self.handle, value.handle) + self._platform = None @property def endianness(self) -> Endianness: |
