CSN1: fix serialization with unset value

This commit is contained in:
p1-bmu 2021-11-09 10:50:43 +01:00
parent f68c8485ec
commit 315bd60b98
1 changed files with 10 additions and 9 deletions

View File

@ -929,15 +929,16 @@ class CSN1List(CSN1Obj):
def _to_pack_obj(self):
ret = []
for i, val in enumerate(self._val):
Obj = self._list[i]
# transfer offset and value to Obj
obj_off, obj_val = Obj._off, Obj._val
Obj._off, Obj._val = self._off, val
ret.extend( Obj._to_pack_csn() )
# restore offset and value
self._off = Obj._off
Obj._off, Obj._val = obj_off, obj_val
if self._val is not None:
for i, val in enumerate(self._val):
Obj = self._list[i]
# transfer offset and value to Obj
obj_off, obj_val = Obj._off, Obj._val
Obj._off, Obj._val = self._off, val
ret.extend( Obj._to_pack_csn() )
# restore offset and value
self._off = Obj._off
Obj._off, Obj._val = obj_off, obj_val
return ret
def clone(self):