Reduce code duplication by introducing send_clcc function.

---

> > Yes, you should have it separate in your inbox ;-). If not, let me
> > know and I'll resend.
> 
> Doesn't look like I do?

sorry about that. Here you go...

Best regards,
                                                                Pavel

diff --git a/drivers/atmodem/voicecall.c b/drivers/atmodem/voicecall.c
index d55cf008..e22d412c 100644
--- a/drivers/atmodem/voicecall.c
+++ b/drivers/atmodem/voicecall.c
@@ -264,14 +264,17 @@ poll_again:
                                                poll_clcc, vc);
 }
 
+static void send_clcc(struct voicecall_data *vd, struct ofono_voicecall *vc)
+{
+       g_at_chat_send(vd->chat, "AT+CLCC", clcc_prefix, clcc_poll_cb, vc, 
NULL);
+}
+
 static gboolean poll_clcc(gpointer user_data)
 {
        struct ofono_voicecall *vc = user_data;
        struct voicecall_data *vd = ofono_voicecall_get_data(vc);
 
-       g_at_chat_send(vd->chat, "AT+CLCC", clcc_prefix,
-                               clcc_poll_cb, vc, NULL);
-
+       send_clcc(vd, vc);
        vd->clcc_source = 0;
 
        return FALSE;
@@ -297,8 +301,7 @@ static void generic_cb(gboolean ok, GAtResult *result, 
gpointer user_data)
                }
        }
 
-       g_at_chat_send(vd->chat, "AT+CLCC", clcc_prefix,
-                       clcc_poll_cb, req->vc, NULL);
+       send_clcc(vd, req->vc);
 
        /* We have to callback after we schedule a poll if required */
        req->cb(&error, req->data);
@@ -316,8 +319,7 @@ static void release_id_cb(gboolean ok, GAtResult *result,
        if (ok)
                vd->local_release = 1 << req->id;
 
-       g_at_chat_send(vd->chat, "AT+CLCC", clcc_prefix,
-                       clcc_poll_cb, req->vc, NULL);
+       send_clcc(vd, req->vc);
 
        /* We have to callback after we schedule a poll if required */
        req->cb(&error, req->data);
@@ -962,8 +975,7 @@ static void no_carrier_notify(GAtResult *result, gpointer 
user_data)
        struct ofono_voicecall *vc = user_data;
        struct voicecall_data *vd = ofono_voicecall_get_data(vc);
 
-       g_at_chat_send(vd->chat, "AT+CLCC", clcc_prefix,
-                       clcc_poll_cb, vc, NULL);
+       send_clcc(vd, vc);
 }
 
 static void no_answer_notify(GAtResult *result, gpointer user_data)
@@ -971,8 +983,7 @@ static void no_answer_notify(GAtResult *result, gpointer 
user_data)
        struct ofono_voicecall *vc = user_data;
        struct voicecall_data *vd = ofono_voicecall_get_data(vc);
 
-       g_at_chat_send(vd->chat, "AT+CLCC", clcc_prefix,
-                       clcc_poll_cb, vc, NULL);
+       send_clcc(vd, vc);
 }
 
 static void busy_notify(GAtResult *result, gpointer user_data)
@@ -984,8 +995,7 @@ static void busy_notify(GAtResult *result, gpointer 
user_data)
         * or UDUB on the other side
         * TODO: Handle UDUB or other conditions somehow
         */
-       g_at_chat_send(vd->chat, "AT+CLCC", clcc_prefix,
-                       clcc_poll_cb, vc, NULL);
+       send_clcc(vd, vc);
 }
 
 static void cssi_notify(GAtResult *result, gpointer user_data)


-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) 
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
_______________________________________________
ofono mailing list
[email protected]
https://lists.ofono.org/mailman/listinfo/ofono

Reply via email to