From 24535ebd27daa3a1809e688418db962d64e9125a Mon Sep 17 00:00:00 2001 From: Johan Hedberg Date: Wed, 8 Oct 2008 11:52:14 +0200 Subject: Properly extract the phone number from the ATD string Voice call ATD requests have a semicolon at the end of the string while data call requests don't. So detect this and don't copy the semicolon to the currently active number (possible sent back to the headset in subsequent operations). --- audio/telephony-dummy.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/audio/telephony-dummy.c b/audio/telephony-dummy.c index df9cdf08..3c87ce2a 100644 --- a/audio/telephony-dummy.c +++ b/audio/telephony-dummy.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -132,8 +133,21 @@ void telephony_answer_call_req(void *telephony_device) void telephony_dial_number_req(void *telephony_device, const char *number) { + char last; + + last = number[strlen(number) - 1]; + g_free(active_call_number); - active_call_number = g_strdup(number); + + if (last == ';') { + active_call_number = g_strndup(number, strlen(number) -1); + debug("telephony-dummy: voice call dial request to %s", + active_call_number); + } else { + active_call_number = g_strdup(number); + debug("telephony-dummy: data call dial request to %s", + active_call_number); + } telephony_dial_number_rsp(telephony_device, CME_ERROR_NONE); -- cgit