diff options
Diffstat (limited to 'drivers/stemodem/voicecall.c')
-rw-r--r-- | 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 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; } |