From cc15b2b4c352a3a88552b923d24284a2a39317f8 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Tue, 16 Dec 2025 02:14:03 +0100 Subject: [PATCH] ts_51_011.EF_SMSP: Use integer division during encode Otherwise we might compute float values and fail encoding like this: > construct.core.FormatFieldError: Error in path (building) -> tp_vp_minutes > struct '>B' error during building, given value 169.0 Change-Id: I989669434c7ddee9595ee81a0822f9966907a844 --- pySim/ts_51_011.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py index e46a3e0f..92b44862 100644 --- a/pySim/ts_51_011.py +++ b/pySim/ts_51_011.py @@ -267,11 +267,11 @@ class EF_SMSP(LinFixedEF): raise ValueError def _encode(self, obj, context, path): if obj <= 12*60: - return obj/5 - 1 + return obj // 5 - 1 elif obj <= 24*60: return 143 + ((obj - (12 * 60)) // 30) elif obj <= 30 * 24 * 60: - return 166 + (obj / (24 * 60)) + return 166 + (obj // (24 * 60)) elif obj <= 63 * 7 * 24 * 60: return 192 + (obj // (7 * 24 * 60)) else: