ts_51_011: fix bitmask compositing in EF_xPLMNwAcT.enc_act()
This commit fixes two problems (found by semgrep):
* "'foo' and 'bar' in list" is incorrect, because it's interpreted
as "'foo' and ('bar' in list)". Strings with a non-zero length
evaluate to True, thus it's True if at least 'bar' is present.
* Copy-pasted 'E-UTRAN NB-S1' checked two times.
The first condition is redundant, and the whole block can be
re-implemented using two independent 'if' statements.
Change-Id: Iceb66160cfb571db8879d3810c55d252c763d320
diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py
index 03d74ad..e4a26a3 100644
--- a/pySim/ts_51_011.py
+++ b/pySim/ts_51_011.py
@@ -527,12 +527,10 @@
if 'cdma2000 1xRTT' in in_list:
u16 |= 0x0010
# E-UTRAN
- if 'E-UTRAN WB-S1' and 'E-UTRAN NB-S1' in in_list:
- u16 |= 0x7000 # WB-S1 and NB-S1
- elif 'E-UTRAN NB-S1' in in_list:
- u16 |= 0x6000 # only WB-S1
- elif 'E-UTRAN NB-S1' in in_list:
- u16 |= 0x5000 # only NB-S1
+ if 'E-UTRAN WB-S1' in in_list:
+ u16 |= 0x6000
+ if 'E-UTRAN NB-S1' in in_list:
+ u16 |= 0x5000
# GSM mess
if 'GSM' in in_list and 'EC-GSM-IoT' in in_list:
u16 |= 0x008C