libmm-glib,common-helpers: make hexstr2bin() return a guint8 array
It makes much more sense than returning a gchar array, as gchar is signed.
This commit is contained in:
+8
-8
@@ -1306,9 +1306,9 @@ parse_mnc_length (const gchar *response,
|
||||
(sw1 == 0x91) ||
|
||||
(sw1 == 0x92) ||
|
||||
(sw1 == 0x9f)) {
|
||||
gsize buflen = 0;
|
||||
guint32 mnc_len;
|
||||
g_autofree gchar *bin = NULL;
|
||||
gsize buflen = 0;
|
||||
guint32 mnc_len;
|
||||
g_autofree guint8 *bin = NULL;
|
||||
|
||||
/* Convert hex string to binary */
|
||||
bin = mm_utils_hexstr2bin (hex, -1, &buflen, error);
|
||||
@@ -1323,7 +1323,7 @@ parse_mnc_length (const gchar *response,
|
||||
}
|
||||
|
||||
/* MNC length is byte 4 of this SIM file */
|
||||
mnc_len = bin[3] & 0xFF;
|
||||
mnc_len = bin[3];
|
||||
if (mnc_len == 2 || mnc_len == 3)
|
||||
return mnc_len;
|
||||
|
||||
@@ -1412,8 +1412,8 @@ parse_spn (const gchar *response,
|
||||
(sw1 == 0x91) ||
|
||||
(sw1 == 0x92) ||
|
||||
(sw1 == 0x9f)) {
|
||||
gsize buflen = 0;
|
||||
g_autofree gchar *bin = NULL;
|
||||
gsize buflen = 0;
|
||||
g_autofree guint8 *bin = NULL;
|
||||
|
||||
/* Convert hex string to binary */
|
||||
bin = mm_utils_hexstr2bin (hex, -1, &buflen, error);
|
||||
@@ -1423,11 +1423,11 @@ parse_spn (const gchar *response,
|
||||
}
|
||||
|
||||
/* Remove the FF filler at the end */
|
||||
while (buflen > 1 && bin[buflen - 1] == (char)0xff)
|
||||
while (buflen > 1 && bin[buflen - 1] == 0xff)
|
||||
buflen--;
|
||||
|
||||
/* First byte is metadata; remainder is GSM-7 unpacked into octets; convert to UTF8 */
|
||||
return (gchar *)mm_charset_gsm_unpacked_to_utf8 ((guint8 *)bin + 1, buflen - 1);
|
||||
return (gchar *)mm_charset_gsm_unpacked_to_utf8 (bin + 1, buflen - 1);
|
||||
}
|
||||
|
||||
g_set_error (error, MM_CORE_ERROR, MM_CORE_ERROR_FAILED,
|
||||
|
||||
+6
-6
@@ -157,11 +157,11 @@ gchar *
|
||||
mm_modem_charset_hex_to_utf8 (const gchar *src,
|
||||
MMModemCharset charset)
|
||||
{
|
||||
const gchar *iconv_from;
|
||||
g_autofree gchar *unconverted = NULL;
|
||||
g_autofree gchar *converted = NULL;
|
||||
g_autoptr(GError) error = NULL;
|
||||
gsize unconverted_len = 0;
|
||||
const gchar *iconv_from;
|
||||
g_autofree guint8 *unconverted = NULL;
|
||||
g_autofree gchar *converted = NULL;
|
||||
g_autoptr(GError) error = NULL;
|
||||
gsize unconverted_len = 0;
|
||||
|
||||
g_return_val_if_fail (src != NULL, NULL);
|
||||
g_return_val_if_fail (charset != MM_MODEM_CHARSET_UNKNOWN, NULL);
|
||||
@@ -176,7 +176,7 @@ mm_modem_charset_hex_to_utf8 (const gchar *src,
|
||||
if (charset == MM_MODEM_CHARSET_UTF8 || charset == MM_MODEM_CHARSET_IRA)
|
||||
return g_steal_pointer (&unconverted);
|
||||
|
||||
converted = g_convert (unconverted, unconverted_len,
|
||||
converted = g_convert ((const gchar *)unconverted, unconverted_len,
|
||||
"UTF-8//TRANSLIT", iconv_from,
|
||||
NULL, NULL, &error);
|
||||
if (!converted || error)
|
||||
|
||||
@@ -1815,7 +1815,7 @@ mm_firmware_unique_id_to_qmi_unique_id (const gchar *unique_id,
|
||||
gsize tmp_len;
|
||||
|
||||
tmp_len = 0;
|
||||
tmp = (guint8 *) mm_utils_hexstr2bin (unique_id, -1, &tmp_len, error);
|
||||
tmp = mm_utils_hexstr2bin (unique_id, -1, &tmp_len, error);
|
||||
if (!tmp) {
|
||||
g_prefix_error (error, "Unexpected character found in unique id: ");
|
||||
return NULL;
|
||||
|
||||
@@ -4291,7 +4291,7 @@ mm_3gpp_parse_emergency_numbers (const char *raw, GError **error)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bin = (guint8 *) mm_utils_hexstr2bin (raw, -1, &binlen, error);
|
||||
bin = mm_utils_hexstr2bin (raw, -1, &binlen, error);
|
||||
if (!bin) {
|
||||
g_prefix_error (error, "invalid raw emergency numbers list contents: ");
|
||||
return NULL;
|
||||
|
||||
@@ -343,7 +343,7 @@ mm_sms_part_3gpp_new_from_pdu (guint index,
|
||||
gsize pdu_len;
|
||||
|
||||
/* Convert PDU from hex to binary */
|
||||
pdu = (guint8 *) mm_utils_hexstr2bin (hexpdu, -1, &pdu_len, error);
|
||||
pdu = mm_utils_hexstr2bin (hexpdu, -1, &pdu_len, error);
|
||||
if (!pdu) {
|
||||
g_prefix_error (error, "Couldn't convert 3GPP PDU from hex to binary: ");
|
||||
return NULL;
|
||||
|
||||
@@ -321,7 +321,7 @@ mm_sms_part_cdma_new_from_pdu (guint index,
|
||||
gsize pdu_len;
|
||||
|
||||
/* Convert PDU from hex to binary */
|
||||
pdu = (guint8 *) mm_utils_hexstr2bin (hexpdu, -1, &pdu_len, error);
|
||||
pdu = mm_utils_hexstr2bin (hexpdu, -1, &pdu_len, error);
|
||||
if (!pdu) {
|
||||
g_prefix_error (error, "Couldn't convert CDMA PDU from hex to binary: ");
|
||||
return NULL;
|
||||
|
||||
Reference in New Issue
Block a user