diff options
author | Denis Kenzior <denkenz@gmail.com> | 2009-09-10 17:40:16 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2009-09-10 17:40:16 -0500 |
commit | 40ef883fe4d1b27b46b5db2b36ce894d16a6d1d4 (patch) | |
tree | b92aed3c0b211af1c6bf48dd66c4f9256c6fb9d6 /src/smsutil.c | |
parent | 8d52353425eb3dfa16900218400cc4f09c63da12 (diff) | |
download | ofono-40ef883fe4d1b27b46b5db2b36ce894d16a6d1d4.tar.bz2 |
Add ability to expire PLMN wide messages
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; |