diff options
-rw-r--r-- | src/mm-generic-gsm.c | 24 | ||||
-rw-r--r-- | src/mm-modem-gsm-network.c | 21 | ||||
-rw-r--r-- | src/mm-utils.c | 17 | ||||
-rw-r--r-- | src/mm-utils.h | 2 |
4 files changed, 24 insertions, 40 deletions
diff --git a/src/mm-generic-gsm.c b/src/mm-generic-gsm.c index ab6e0da6..9cb96900 100644 --- a/src/mm-generic-gsm.c +++ b/src/mm-generic-gsm.c @@ -3792,24 +3792,6 @@ set_charset_done (MMAtSerialPort *port, mm_at_serial_port_queue_command (port, "+CSCS?", 3, set_get_charset_done, info); } -static gboolean -check_for_single_value (guint32 value) -{ - gboolean found = FALSE; - guint32 i; - - for (i = 1; i <= 32; i++) { - if (value & 0x1) { - if (found) - return FALSE; /* More than one bit set */ - found = TRUE; - } - value >>= 1; - } - - return TRUE; -} - static void set_charset (MMModem *modem, MMModemCharset charset, @@ -3824,7 +3806,7 @@ set_charset (MMModem *modem, info = mm_callback_info_new (modem, callback, user_data); - if (!(priv->charsets & charset) || !check_for_single_value (charset)) { + if (!(priv->charsets & charset) || !utils_check_for_single_value (charset)) { info->error = g_error_new (MM_MODEM_ERROR, MM_MODEM_ERROR_UNSUPPORTED_CHARSET, "Character set 0x%X not supported", @@ -4551,7 +4533,7 @@ ussd_respond (MMModemGsmUssd *modem, mm_callback_info_schedule (info); return; } - + ussd_send (modem, command, callback, user_data); return; } @@ -4852,7 +4834,7 @@ simple_connect (MMModemSimple *simple, g_free (data_device); info = mm_callback_info_new (MM_MODEM (simple), callback, user_data); - mm_callback_info_set_data (info, "simple-connect-properties", + mm_callback_info_set_data (info, "simple-connect-properties", g_hash_table_ref (properties), (GDestroyNotify) g_hash_table_unref); diff --git a/src/mm-modem-gsm-network.c b/src/mm-modem-gsm-network.c index d82bf792..c152ddf9 100644 --- a/src/mm-modem-gsm-network.c +++ b/src/mm-modem-gsm-network.c @@ -21,6 +21,7 @@ #include "mm-errors.h" #include "mm-callback-info.h" #include "mm-marshal.h" +#include "mm-utils.h" static void impl_gsm_modem_register (MMModemGsmNetwork *modem, const char *network_id, @@ -473,24 +474,6 @@ impl_gsm_modem_get_signal_quality (MMModemGsmNetwork *modem, mm_modem_gsm_network_get_signal_quality (modem, uint_call_done, context); } -static gboolean -check_for_single_value (guint32 value) -{ - gboolean found = FALSE; - guint32 i; - - for (i = 1; i <= 32; i++) { - if (value & 0x1) { - if (found) - return FALSE; /* More than one bit set */ - found = TRUE; - } - value >>= 1; - } - - return TRUE; -} - static void impl_gsm_modem_set_band (MMModemGsmNetwork *modem, MMModemGsmBand band, @@ -511,7 +494,7 @@ impl_gsm_modem_set_network_mode (MMModemGsmNetwork *modem, MMModemDeprecatedMode old_mode, DBusGMethodInvocation *context) { - if (!check_for_single_value (old_mode)) { + if (!utils_check_for_single_value (old_mode)) { GError *error; error = g_error_new_literal (MM_MODEM_ERROR, MM_MODEM_ERROR_OPERATION_NOT_SUPPORTED, diff --git a/src/mm-utils.c b/src/mm-utils.c index c435d1d6..236c2d9f 100644 --- a/src/mm-utils.c +++ b/src/mm-utils.c @@ -90,3 +90,20 @@ utils_bin2hexstr (const guint8 *bin, gsize len) return g_string_free (ret, FALSE); } +gboolean +utils_check_for_single_value (guint32 value) +{ + gboolean found = FALSE; + guint32 i; + + for (i = 1; i <= 32; i++) { + if (value & 0x1) { + if (found) + return FALSE; /* More than one bit set */ + found = TRUE; + } + value >>= 1; + } + + return TRUE; +} diff --git a/src/mm-utils.h b/src/mm-utils.h index 1b9b328f..be77f8a8 100644 --- a/src/mm-utils.h +++ b/src/mm-utils.h @@ -22,5 +22,7 @@ char *utils_hexstr2bin (const char *hex, gsize *out_len); char *utils_bin2hexstr (const guint8 *bin, gsize len); +gboolean utils_check_for_single_value (guint32 value); + #endif /* MM_UTILS_H */ |