Hi Denis,
On 03/11/2011 09:54 PM, ext Denis Kenzior wrote:
Hi Andras,
+static struct voicecall *voicecall_select(struct ofono_voicecall *vc,
+ unsigned int id, int code)
+{
+ struct voicecall *v = NULL;
+ GSList *l;
+
+ if (id != 0) {
+ l = g_slist_find_custom(vc->call_list, GUINT_TO_POINTER(id),
+ call_compare_by_id);
+
+ if (l == NULL)
+ return NULL;
+
+ v = l->data;
+ } else if (g_slist_length(vc->call_list) == 1) {
+ v = vc->call_list->data;
+
+ switch (code) {
+ case SS_MT_VOICECALL_RETRIEVED:
+ if (v->remote_held != TRUE)
+ return NULL;
+ break;
+ case SS_MT_VOICECALL_ON_HOLD:
+ if (v->remote_held == TRUE)
+ return NULL;
+ break;
+ case SS_MT_MULTIPARTY_VOICECALL:
+ if (v->remote_multiparty == TRUE)
+ return NULL;
+ break;
+ default:
+ return NULL;
+ }
I was mostly fine with this patch, but didn't see the real need in these
checks, so I re-factored the patch slightly afterward. Let me know if I
broke something.
I am fine with your simplified version, I was a bit overly cautious
with those checks. Thanks!
+ }
+
+ return v;
+}
+
Regards,
-Denis
Regards,
Andras
_______________________________________________
ofono mailing list
ofono@ofono.org
http://lists.ofono.org/listinfo/ofono