From: Marit Henriksen <marit.henriksen(a)stericsson.com>
In *ECAV, the number will not be included if caller id is hidden.
Set it to an empty string in that case, and set number type to
128, unknown number type.
---
drivers/stemodem/voicecall.c | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/drivers/stemodem/voicecall.c b/drivers/stemodem/voicecall.c
index bf68f52..99383cf 100644
--- a/drivers/stemodem/voicecall.c
+++ b/drivers/stemodem/voicecall.c
@@ -442,10 +442,15 @@ static void ecav_notify(GAtResult *result, gpointer user_data)
if (status == CALL_STATUS_DIALING ||
status == CALL_STATUS_WAITING ||
status == CALL_STATUS_INCOMING) {
- if (!g_at_result_iter_next_string(&iter, &num))
- return;
-
- if (!g_at_result_iter_next_number(&iter, &num_type))
+ /*
+ * If caller uses hidden id, the number and
+ * number type might not be present. Don't
+ * look for type if number is not present.
+ */
+ if (!g_at_result_iter_next_string(&iter, &num)) {
+ num = "";
+ num_type = 128;
+ } else if (!g_at_result_iter_next_number(&iter, &num_type))
return;
}
--
1.7.1