ts_102_221: fix SFI generation
The generation of the SFI does not work. The result is always a zero
length TLV IE.
Change-Id: Iaa38d2be4719f12c1d7b30a8befe278f1ed78ac1
diff --git a/pySim/ts_102_221.py b/pySim/ts_102_221.py
index bf63f55..e7aff97 100644
--- a/pySim/ts_102_221.py
+++ b/pySim/ts_102_221.py
@@ -190,10 +190,11 @@
# of the TLV value field. In this case, bits b3 to b1 shall be set to 0
class Shift3RAdapter(Adapter):
def _decode(self, obj, context, path):
- return obj >> 3
+ return int.from_bytes(obj, 'big') >> 3
def _encode(self, obj, context, path):
- return obj << 3
- _construct = COptional(Shift3RAdapter(Byte))
+ val = int(obj) << 3
+ return val.to_bytes(1, 'big')
+ _construct = COptional(Shift3RAdapter(Bytes(1)))
# ETSI TS 102 221 11.1.1.4.9
class LifeCycleStatusInteger(BER_TLV_IE, tag=0x8A):