diff --git a/drivers/atmodem/atutil.c b/drivers/atmodem/atutil.c index 9eeaf469..76d03781 100644 --- a/drivers/atmodem/atutil.c +++ b/drivers/atmodem/atutil.c @@ -80,20 +80,6 @@ gint at_util_call_compare_by_phone_number(gconstpointer a, gconstpointer b) sizeof(struct ofono_phone_number)); } -gint at_util_call_compare_by_id(gconstpointer a, gconstpointer b) -{ - const struct ofono_call *call = a; - unsigned int id = GPOINTER_TO_UINT(b); - - if (id < call->id) - return -1; - - if (id > call->id) - return 1; - - return 0; -} - GSList *at_util_parse_clcc(GAtResult *result, unsigned int *ret_mpty_ids) { GAtResultIter iter; diff --git a/drivers/atmodem/atutil.h b/drivers/atmodem/atutil.h index 96607881..b7076909 100644 --- a/drivers/atmodem/atutil.h +++ b/drivers/atmodem/atutil.h @@ -53,7 +53,7 @@ typedef void (*at_util_sim_inserted_cb_t)(gboolean present, void *userdata); void decode_at_error(struct ofono_error *error, const char *final); gint at_util_call_compare_by_phone_number(gconstpointer a, gconstpointer b); -gint at_util_call_compare_by_id(gconstpointer a, gconstpointer b); +gint ofono_call_compare_by_id(gconstpointer a, gconstpointer b); GSList *at_util_parse_clcc(GAtResult *result, unsigned int *mpty_ids); gboolean at_util_parse_reg(GAtResult *result, const char *prefix, int *mode, int *status, diff --git a/drivers/common/call_list.c b/drivers/common/call_list.c index 14fd9258..8b871191 100644 --- a/drivers/common/call_list.c +++ b/drivers/common/call_list.c @@ -51,3 +51,17 @@ gint ofono_call_compare_by_status(gconstpointer a, gconstpointer b) return 0; } + +gint ofono_call_compare_by_id(gconstpointer a, gconstpointer b) +{ + const struct ofono_call *call = a; + unsigned int id = GPOINTER_TO_UINT(b); + + if (id < call->id) + return -1; + + if (id > call->id) + return 1; + + return 0; +} diff --git a/drivers/common/call_list.h b/drivers/common/call_list.h index ffa9dce5..a06c114f 100644 --- a/drivers/common/call_list.h +++ b/drivers/common/call_list.h @@ -26,5 +26,6 @@ gint ofono_call_compare(gconstpointer a, gconstpointer b); gint ofono_call_compare_by_status(gconstpointer a, gconstpointer b); +gint ofono_call_compare_by_id(gconstpointer a, gconstpointer b); #endif /* __OFONO_DRIVER_COMMON_CALL_LIST */ diff --git a/drivers/huaweimodem/voicecall.c b/drivers/huaweimodem/voicecall.c index 1043c84d..033352c3 100644 --- a/drivers/huaweimodem/voicecall.c +++ b/drivers/huaweimodem/voicecall.c @@ -348,7 +348,7 @@ static void conf_notify(GAtResult *result, gpointer user_data) ofono_info("Call setup: id %d", call_id); l = g_slist_find_custom(vd->calls, GINT_TO_POINTER(call_id), - at_util_call_compare_by_id); + ofono_call_compare_by_id); if (l == NULL) { ofono_error("Received CONF for untracked call"); return; @@ -385,7 +385,7 @@ static void conn_notify(GAtResult *result, gpointer user_data) ofono_info("Call connect: id %d type %d", call_id, call_type); l = g_slist_find_custom(vd->calls, GINT_TO_POINTER(call_id), - at_util_call_compare_by_id); + ofono_call_compare_by_id); if (l == NULL) { ofono_error("Received CONN for untracked call"); return; @@ -429,7 +429,7 @@ static void cend_notify(GAtResult *result, gpointer user_data) call_id, duration, end_status); l = g_slist_find_custom(vd->calls, GINT_TO_POINTER(call_id), - at_util_call_compare_by_id); + ofono_call_compare_by_id); if (l == NULL) { ofono_error("Received CEND for untracked call"); return; diff --git a/drivers/ifxmodem/voicecall.c b/drivers/ifxmodem/voicecall.c index 42c1a82c..aa6504fa 100644 --- a/drivers/ifxmodem/voicecall.c +++ b/drivers/ifxmodem/voicecall.c @@ -136,7 +136,7 @@ static void xcallstat_notify(GAtResult *result, gpointer user_data) return; l = g_slist_find_custom(vd->calls, GINT_TO_POINTER(id), - at_util_call_compare_by_id); + ofono_call_compare_by_id); if (l == NULL && status != CALL_STATUS_DIALING && status != CALL_STATUS_INCOMING && @@ -774,7 +774,7 @@ static void xcolp_notify(GAtResult *result, gpointer user_data) l = g_slist_find_custom(vd->calls, GINT_TO_POINTER(call_id), - at_util_call_compare_by_id); + ofono_call_compare_by_id); if (l == NULL) { ofono_error("XCOLP for unknown call"); return; diff --git a/drivers/stemodem/voicecall.c b/drivers/stemodem/voicecall.c index 7abb78eb..9f38acbf 100644 --- a/drivers/stemodem/voicecall.c +++ b/drivers/stemodem/voicecall.c @@ -463,7 +463,7 @@ static void ecav_notify(GAtResult *result, gpointer user_data) * If it doesn't exists we make a new one */ l = g_slist_find_custom(vd->calls, GUINT_TO_POINTER(id), - at_util_call_compare_by_id); + ofono_call_compare_by_id); if (l) existing_call = l->data;