summaryrefslogtreecommitdiffstats
path: root/drivers/atmodem
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2009-05-29 18:14:40 -0500
committerDenis Kenzior <denkenz@gmail.com>2009-05-29 18:37:39 -0500
commit5a4d750414ff9c187f095acefd2743614021c303 (patch)
treec976a55915dc8395044d26b270b1ec6ae1ee28bf /drivers/atmodem
parent6fdc96cb73170067ba1f535f0de0e7bb4919876a (diff)
downloadofono-5a4d750414ff9c187f095acefd2743614021c303.tar.bz2
Do not use empty prefixes
Diffstat (limited to 'drivers/atmodem')
-rw-r--r--drivers/atmodem/sim.c13
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;