diff options
author | Denis Kenzior <denkenz@gmail.com> | 2009-05-29 18:14:40 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2009-05-29 18:37:39 -0500 |
commit | 5a4d750414ff9c187f095acefd2743614021c303 (patch) | |
tree | c976a55915dc8395044d26b270b1ec6ae1ee28bf /drivers/atmodem | |
parent | 6fdc96cb73170067ba1f535f0de0e7bb4919876a (diff) | |
download | ofono-5a4d750414ff9c187f095acefd2743614021c303.tar.bz2 |
Do not use empty prefixes
Diffstat (limited to 'drivers/atmodem')
-rw-r--r-- | drivers/atmodem/sim.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/atmodem/sim.c b/drivers/atmodem/sim.c index 6cb37fe7..7b41c76e 100644 --- a/drivers/atmodem/sim.c +++ b/drivers/atmodem/sim.c @@ -39,7 +39,6 @@ #include "at.h" static const char *crsm_prefix[] = { "+CRSM:", NULL }; -static const char *empty_prefix[] = { "", NULL }; static const char *cnum_prefix[] = { "+CNUM:", NULL }; static void at_crsm_len_cb(gboolean ok, GAtResult *result, gpointer user_data) @@ -184,6 +183,7 @@ static void at_cimi_cb(gboolean ok, GAtResult *result, gpointer user_data) ofono_imsi_cb_t cb = cbd->cb; struct ofono_error error; const char *imsi; + int i; dump_response("at_cimi_cb", ok, result); decode_at_error(&error, g_at_result_final_response(result)); @@ -193,14 +193,11 @@ static void at_cimi_cb(gboolean ok, GAtResult *result, gpointer user_data) } g_at_result_iter_init(&iter, result); - g_at_result_iter_next(&iter, ""); + + for (i = 0; i < g_at_result_num_response_lines(result); i++) + g_at_result_iter_next(&iter, NULL); imsi = g_at_result_iter_raw_line(&iter); - if (imsi == NULL) { - DECLARE_FAILURE(e); - cb(&e, NULL, cbd->data); - return; - } ofono_debug("cimi_cb: %s", imsi); @@ -216,7 +213,7 @@ static void at_read_imsi(struct ofono_modem *modem, ofono_imsi_cb_t cb, if (!cbd) goto error; - if (g_at_chat_send(at->parser, "AT+CIMI", empty_prefix, + if (g_at_chat_send(at->parser, "AT+CIMI", NULL, at_cimi_cb, cbd, g_free) > 0) return; |