[PATCH 2/2] broadband-modem: normalize also operator code
Aleksander Morgado
aleksander at aleksander.es
Sun Apr 2 08:13:42 UTC 2017
On Sat, Apr 1, 2017 at 6:02 AM, Dan Williams <dcbw at redhat.com> wrote:
> 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
>
Pushed to git master.
>> Based on a patch from Colin Helliwell <colin.helliwell at 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
--
Aleksander
https://aleksander.es
More information about the ModemManager-devel
mailing list