diff options
Diffstat (limited to 'src/smsutil.c')
-rw-r--r-- | src/smsutil.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/smsutil.c b/src/smsutil.c index 07ff903a..863b68f5 100644 --- a/src/smsutil.c +++ b/src/smsutil.c @@ -3297,7 +3297,7 @@ static void cbs_assembly_expire(struct cbs_assembly *assembly, } } -void cbs_assembly_location_changed(struct cbs_assembly *assembly, +void cbs_assembly_location_changed(struct cbs_assembly *assembly, gboolean plmn, gboolean lac, gboolean ci) { /* Location Area wide (in GSM) (which means that a CBS message with the @@ -3314,6 +3314,15 @@ void cbs_assembly_location_changed(struct cbs_assembly *assembly, * one cell only. */ + if (plmn) { + lac = TRUE; + g_slist_free(assembly->recv_plmn); + assembly->recv_plmn = NULL; + + cbs_assembly_expire(assembly, cbs_compare_node_by_gs, + GUINT_TO_POINTER(CBS_GEO_SCOPE_PLMN)); + } + if (lac) { /* If LAC changed, then cell id has changed */ ci = TRUE; |