summaryrefslogtreecommitdiffstats
path: root/drivers/stemodem/voicecall.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/stemodem/voicecall.c')
-rw-r--r--drivers/stemodem/voicecall.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/stemodem/voicecall.c b/drivers/stemodem/voicecall.c
index bf68f52a..99383cf1 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;
}