diff options
Diffstat (limited to 'plugins/cinterion')
-rw-r--r-- | plugins/cinterion/mm-modem-helpers-cinterion.c | 62 | ||||
-rw-r--r-- | plugins/cinterion/tests/test-modem-helpers-cinterion.c | 42 |
2 files changed, 39 insertions, 65 deletions
diff --git a/plugins/cinterion/mm-modem-helpers-cinterion.c b/plugins/cinterion/mm-modem-helpers-cinterion.c index a75eb530..0bf3a078 100644 --- a/plugins/cinterion/mm-modem-helpers-cinterion.c +++ b/plugins/cinterion/mm-modem-helpers-cinterion.c @@ -554,14 +554,14 @@ mm_cinterion_parse_cnmi_test (const gchar *response, GArray **supported_bfr, GError **error) { - GRegex *r; - GMatchInfo *match_info; - GError *inner_error = NULL; - GArray *tmp_supported_mode = NULL; - GArray *tmp_supported_mt = NULL; - GArray *tmp_supported_bm = NULL; - GArray *tmp_supported_ds = NULL; - GArray *tmp_supported_bfr = NULL; + g_autoptr(GRegex) r = NULL; + g_autoptr(GMatchInfo) match_info = NULL; + GError *inner_error = NULL; + GArray *tmp_supported_mode = NULL; + GArray *tmp_supported_mt = NULL; + GArray *tmp_supported_bm = NULL; + GArray *tmp_supported_ds = NULL; + GArray *tmp_supported_bfr = NULL; if (!response) { g_set_error (error, MM_CORE_ERROR, MM_CORE_ERROR_FAILED, "Missing response"); @@ -576,57 +576,48 @@ mm_cinterion_parse_cnmi_test (const gchar *response, g_regex_match_full (r, response, strlen (response), 0, 0, &match_info, &inner_error); if (!inner_error && g_match_info_matches (match_info)) { if (supported_mode) { - gchar *str; + g_autofree gchar *str = NULL; str = mm_get_string_unquoted_from_match_info (match_info, 1); tmp_supported_mode = mm_parse_uint_list (str, &inner_error); - g_free (str); if (inner_error) goto out; } if (supported_mt) { - gchar *str; + g_autofree gchar *str = NULL; str = mm_get_string_unquoted_from_match_info (match_info, 2); tmp_supported_mt = mm_parse_uint_list (str, &inner_error); - g_free (str); if (inner_error) goto out; } if (supported_bm) { - gchar *str; + g_autofree gchar *str = NULL; str = mm_get_string_unquoted_from_match_info (match_info, 3); tmp_supported_bm = mm_parse_uint_list (str, &inner_error); - g_free (str); if (inner_error) goto out; } if (supported_ds) { - gchar *str; + g_autofree gchar *str = NULL; str = mm_get_string_unquoted_from_match_info (match_info, 4); tmp_supported_ds = mm_parse_uint_list (str, &inner_error); - g_free (str); if (inner_error) goto out; } if (supported_bfr) { - gchar *str; + g_autofree gchar *str = NULL; str = mm_get_string_unquoted_from_match_info (match_info, 5); tmp_supported_bfr = mm_parse_uint_list (str, &inner_error); - g_free (str); if (inner_error) goto out; } } out: - - g_match_info_free (match_info); - g_regex_unref (r); - if (inner_error) { g_clear_pointer (&tmp_supported_mode, g_array_unref); g_clear_pointer (&tmp_supported_mt, g_array_unref); @@ -763,9 +754,9 @@ mm_cinterion_parse_sind_response (const gchar *response, guint *value, GError **error) { - GRegex *r; - GMatchInfo *match_info; - guint errors = 0; + g_autoptr(GRegex) r = NULL; + g_autoptr(GMatchInfo) match_info = NULL; + guint errors = 0; if (!response) { g_set_error (error, MM_CORE_ERROR, MM_CORE_ERROR_FAILED, "Missing response"); @@ -788,9 +779,6 @@ mm_cinterion_parse_sind_response (const gchar *response, } else errors++; - g_match_info_free (match_info); - g_regex_unref (r); - if (errors > 0) { g_set_error (error, MM_CORE_ERROR, MM_CORE_ERROR_FAILED, "Failed parsing ^SIND response"); return FALSE; @@ -836,8 +824,8 @@ mm_cinterion_parse_swwan_response (const gchar *response, gpointer log_object, GError **error) { - GRegex *r; - GMatchInfo *match_info; + g_autoptr(GRegex) r = NULL; + g_autoptr(GMatchInfo) match_info = NULL; GError *inner_error = NULL; MMBearerConnectionStatus status; @@ -883,9 +871,6 @@ mm_cinterion_parse_swwan_response (const gchar *response, g_match_info_next (match_info, &inner_error); } - g_match_info_free (match_info); - g_regex_unref (r); - if (status == MM_BEARER_CONNECTION_STATUS_UNKNOWN) g_set_error (error, MM_CORE_ERROR, MM_CORE_ERROR_FAILED, "No state returned for CID %u", cid); @@ -1078,10 +1063,10 @@ mm_cinterion_parse_slcc_list (const gchar *str, GList **out_list, GError **error) { - GRegex *r; - GList *list = NULL; - GError *inner_error = NULL; - GMatchInfo *match_info = NULL; + g_autoptr(GRegex) r = NULL; + g_autoptr(GMatchInfo) match_info = NULL; + GList *list = NULL; + GError *inner_error = NULL; static const MMCallDirection cinterion_call_direction[] = { [0] = MM_CALL_DIRECTION_OUTGOING, @@ -1158,9 +1143,6 @@ mm_cinterion_parse_slcc_list (const gchar *str, } out: - g_clear_pointer (&match_info, g_match_info_free); - g_regex_unref (r); - if (inner_error) { mm_cinterion_call_info_list_free (list); g_propagate_error (error, inner_error); diff --git a/plugins/cinterion/tests/test-modem-helpers-cinterion.c b/plugins/cinterion/tests/test-modem-helpers-cinterion.c index c3e7e9e5..8332700b 100644 --- a/plugins/cinterion/tests/test-modem-helpers-cinterion.c +++ b/plugins/cinterion/tests/test-modem-helpers-cinterion.c @@ -1192,18 +1192,17 @@ test_smong_response_no_match (void) /* Test ^SLCC URCs */ static void -common_test_slcc_urc (const gchar *urc, +common_test_slcc_urc (const gchar *urc, const MMCallInfo *expected_call_info_list, - guint expected_call_info_list_size) + guint expected_call_info_list_size) { - GError *error = NULL; - GRegex *slcc_regex = NULL; - gboolean result; - GMatchInfo *match_info = NULL; - gchar *str; - GList *call_info_list = NULL; - GList *l; - + g_autoptr(GRegex) slcc_regex = NULL; + g_autoptr(GMatchInfo) match_info = NULL; + g_autofree gchar *str = NULL; + GError *error = NULL; + GList *call_info_list = NULL; + GList *l; + gboolean result; slcc_regex = mm_cinterion_get_slcc_regex (); @@ -1230,8 +1229,8 @@ common_test_slcc_urc (const gchar *urc, for (l = call_info_list; l; l = g_list_next (l)) { const MMCallInfo *call_info = (const MMCallInfo *)(l->data); - gboolean found = FALSE; - guint i; + gboolean found = FALSE; + guint i; g_debug ("call at index %u: direction %s, state %s, number %s", call_info->index, @@ -1248,10 +1247,6 @@ common_test_slcc_urc (const gchar *urc, g_assert (found); } - g_match_info_free (match_info); - g_regex_unref (slcc_regex); - g_free (str); - mm_cinterion_call_info_list_free (call_info_list); } @@ -1322,12 +1317,12 @@ common_test_ctzu_urc (const gchar *urc, gint expected_offset, gint expected_dst_offset) { - GError *error = NULL; - GRegex *ctzu_regex = NULL; - gboolean result; - GMatchInfo *match_info = NULL; - gchar *iso8601; - MMNetworkTimezone *tz = NULL; + g_autoptr(GRegex) ctzu_regex = NULL; + g_autoptr(GMatchInfo) match_info = NULL; + g_autofree gchar *iso8601 = NULL; + GError *error = NULL; + gboolean result; + MMNetworkTimezone *tz = NULL; ctzu_regex = mm_cinterion_get_ctzu_regex (); @@ -1342,7 +1337,6 @@ common_test_ctzu_urc (const gchar *urc, g_assert (iso8601); g_assert_cmpstr (expected_iso8601, ==, iso8601); - g_free (iso8601); g_assert (tz); g_assert_cmpint (expected_offset, ==, mm_network_timezone_get_offset (tz)); @@ -1351,8 +1345,6 @@ common_test_ctzu_urc (const gchar *urc, g_assert_cmpuint ((guint)expected_dst_offset, ==, mm_network_timezone_get_dst_offset (tz)); g_object_unref (tz); - g_match_info_free (match_info); - g_regex_unref (ctzu_regex); } static void |