diff options
author | Eric Caruso <ejcaruso@chromium.org> | 2020-10-16 11:22:37 -0700 |
---|---|---|
committer | Eric Caruso <ejcaruso@chromium.org> | 2020-10-16 11:22:37 -0700 |
commit | 1800983b6c77b495a97eb4335541561456abfed5 (patch) | |
tree | 9882f6130f9ef91ec298eba2d1243e6a9d1ae668 /src/mm-sim-qmi.c | |
parent | f013e94ff89680d1acd7dba12ff4a6a0fa7b58bf (diff) |
mm-modem-helpers: add low_nybble_first argument to mm_bcd_to_string
All BCD-encoded strings used by MM currently have the low nybble
of each byte come before the high nybble, but some strings (such
as the EID string returned by QMI Get Slot Status) are meant to
be read in order with the high nybble before the low one. As such,
extend mm_bcd_to_string to decode both.
Diffstat (limited to 'src/mm-sim-qmi.c')
-rw-r--r-- | src/mm-sim-qmi.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mm-sim-qmi.c b/src/mm-sim-qmi.c index 52bf0792..bbe2352c 100644 --- a/src/mm-sim-qmi.c +++ b/src/mm-sim-qmi.c @@ -344,7 +344,8 @@ uim_get_iccid_ready (QmiClientUim *client, return; } - iccid = mm_bcd_to_string ((const guint8 *) read_result->data, read_result->len); + iccid = mm_bcd_to_string ((const guint8 *) read_result->data, read_result->len, + TRUE /* low_nybble_first */); g_assert (iccid); g_task_return_pointer (task, iccid, g_free); g_object_unref (task); @@ -458,7 +459,8 @@ uim_get_imsi_ready (QmiClientUim *client, return; } - imsi = mm_bcd_to_string ((const guint8 *) read_result->data, read_result->len); + imsi = mm_bcd_to_string ((const guint8 *) read_result->data, read_result->len, + TRUE /* low_nybble_first */); g_assert (imsi); if (strlen (imsi) < 3) g_task_return_new_error (task, |