On Sat, 2017-03-25 at 21:39 +0100, Aleksander Morgado wrote: > The operator code (MCCMNC) may also be given encoded in the current > charset (e.g. UCS2).
LGTM. Dan > Based on a patch from Colin Helliwell <colin.helliw...@ln-systems.com > > > --- > plugins/altair/mm-broadband-modem-altair-lte.c | 2 +- > src/mm-broadband-modem.c | 6 ++++-- > src/mm-modem-helpers.c | 4 ++-- > src/mm-modem-helpers.h | 4 ++-- > src/tests/test-modem-helpers.c | 7 ++++++- > 5 files changed, 15 insertions(+), 8 deletions(-) > > diff --git a/plugins/altair/mm-broadband-modem-altair-lte.c > b/plugins/altair/mm-broadband-modem-altair-lte.c > index 1155a7a1..3cbc7ecb 100644 > --- a/plugins/altair/mm-broadband-modem-altair-lte.c > +++ b/plugins/altair/mm-broadband-modem-altair-lte.c > @@ -1128,7 +1128,7 @@ modem_3gpp_load_operator_name_finish > (MMIfaceModem3gpp *self, > error)) > return NULL; > > - mm_3gpp_normalize_operator_name (&operator_name, > MM_MODEM_CHARSET_UNKNOWN); > + mm_3gpp_normalize_operator (&operator_name, > MM_MODEM_CHARSET_UNKNOWN); > if (operator_name) > mm_dbg ("loaded Operator Name: %s", operator_name); > return operator_name; > diff --git a/src/mm-broadband-modem.c b/src/mm-broadband-modem.c > index 302fc3db..e98f8dc0 100644 > --- a/src/mm-broadband-modem.c > +++ b/src/mm-broadband-modem.c > @@ -3472,7 +3472,9 @@ modem_3gpp_load_operator_code_finish > (MMIfaceModem3gpp *self, > error)) > return NULL; > > - mm_dbg ("loaded Operator Code: %s", operator_code); > + mm_3gpp_normalize_operator (&operator_code, MM_BROADBAND_MODEM > (self)->priv->modem_current_charset); > + if (operator_code) > + mm_dbg ("loaded Operator Code: %s", operator_code); > return operator_code; > } > > @@ -3513,7 +3515,7 @@ modem_3gpp_load_operator_name_finish > (MMIfaceModem3gpp *self, > error)) > return NULL; > > - mm_3gpp_normalize_operator_name (&operator_name, > MM_BROADBAND_MODEM (self)->priv->modem_current_charset); > + mm_3gpp_normalize_operator (&operator_name, MM_BROADBAND_MODEM > (self)->priv->modem_current_charset); > if (operator_name) > mm_dbg ("loaded Operator Name: %s", operator_name); > return operator_name; > diff --git a/src/mm-modem-helpers.c b/src/mm-modem-helpers.c > index 9266a5a0..b4556176 100644 > --- a/src/mm-modem-helpers.c > +++ b/src/mm-modem-helpers.c > @@ -3123,8 +3123,8 @@ mm_string_to_access_tech (const gchar *string) > /******************************************************************* > ******/ > > void > -mm_3gpp_normalize_operator_name (gchar **operator, > - MMModemCharset cur_charset) > +mm_3gpp_normalize_operator (gchar **operator, > + MMModemCharset cur_charset) > { > g_assert (operator); > > diff --git a/src/mm-modem-helpers.h b/src/mm-modem-helpers.h > index 33af48b6..a74924e3 100644 > --- a/src/mm-modem-helpers.h > +++ b/src/mm-modem-helpers.h > @@ -294,8 +294,8 @@ gchar *mm_3gpp_facility_to_acronym > (MMModem3gppFacility facility); > > MMModemAccessTechnology mm_string_to_access_tech (const gchar > *string); > > -void mm_3gpp_normalize_operator_name (gchar **operator, > - MMModemCharset cur_charset); > +void mm_3gpp_normalize_operator (gchar **operator, > + MMModemCharset cur_charset); > > gboolean mm_3gpp_parse_operator_id (const gchar *operator_id, > guint16 *mcc, > diff --git a/src/tests/test-modem-helpers.c b/src/tests/test-modem- > helpers.c > index 98f30f83..ae0eec99 100644 > --- a/src/tests/test-modem-helpers.c > +++ b/src/tests/test-modem-helpers.c > @@ -876,13 +876,18 @@ typedef struct { > static const NormalizeOperatorTest normalize_operator_tests[] = { > /* charset unknown */ > { "Verizon", MM_MODEM_CHARSET_UNKNOWN, "Verizon" }, > + { "311480", MM_MODEM_CHARSET_UNKNOWN, "311480" }, > /* charset configured as IRA (ASCII) */ > { "Verizon", MM_MODEM_CHARSET_IRA, "Verizon" }, > + { "311480", MM_MODEM_CHARSET_IRA, "311480" }, > /* charset configured as GSM7 */ > { "Verizon", MM_MODEM_CHARSET_GSM, "Verizon" }, > + { "311480", MM_MODEM_CHARSET_GSM, "311480" }, > /* charset configured as UCS2 */ > { "0056006500720069007A006F006E", MM_MODEM_CHARSET_UCS2, > "Verizon" }, > + { "003300310031003400380030", MM_MODEM_CHARSET_UCS2, > "311480" }, > { "Verizon", MM_MODEM_CHARSET_UCS2, > "Verizon" }, > + { "311480", MM_MODEM_CHARSET_UCS2, > "311480" }, > }; > > static void > @@ -891,7 +896,7 @@ common_test_normalize_operator (const > NormalizeOperatorTest *t) > gchar *str; > > str = g_strdup (t->input); > - mm_3gpp_normalize_operator_name (&str, t->charset); > + mm_3gpp_normalize_operator (&str, t->charset); > if (!t->normalized) > g_assert (!str); > else _______________________________________________ ModemManager-devel mailing list ModemManager-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/modemmanager-devel