diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2012-02-10 09:42:54 +0100 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2012-02-10 09:42:54 +0100 |
commit | b88a621528ff86145ed33be87b7fc65d66cd04cf (patch) | |
tree | 176684fd0a82c2d55e1a335419341a5994457b15 /drivers/ifxmodem | |
parent | 9d666ccce08e89aa32314487f12438adcd636126 (diff) | |
download | ofono-b88a621528ff86145ed33be87b7fc65d66cd04cf.tar.bz2 |
ifxmodem: Remove another usage g_utf8_validate
Diffstat (limited to 'drivers/ifxmodem')
-rw-r--r-- | drivers/ifxmodem/voicecall.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/ifxmodem/voicecall.c b/drivers/ifxmodem/voicecall.c index 534a97ab..13ed90b4 100644 --- a/drivers/ifxmodem/voicecall.c +++ b/drivers/ifxmodem/voicecall.c @@ -852,7 +852,8 @@ static void xlema_read(gboolean ok, GAtResult *result, gpointer user_data) GAtResultIter iter; int num = 0; int index, total_cnt; - const char *number, *end; + const char *number; + int len; if (!ok) { DBG("Emergency number list read failed"); @@ -879,12 +880,12 @@ static void xlema_read(gboolean ok, GAtResult *result, gpointer user_data) if (!g_at_result_iter_next_string(&iter, &number)) continue; - if (g_utf8_validate(number, -1, &end) == FALSE) { - vd->en_list[num] = g_strndup(number, end - number); - ofono_warn("Malformed emergency number: %s", - vd->en_list[num++]); - } else - vd->en_list[num++] = g_strdup(number); + len = strspn(number, "0123456789"); + vd->en_list[num++] = g_strndup(number, len); + + if (number[len] != '\0') + ofono_warn("Malformed emergency number: %.*s", + len, number); } ofono_voicecall_en_list_notify(vc, vd->en_list); |