summaryrefslogtreecommitdiffstats
path: root/drivers/rilmodem/sim.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2015-11-04 21:53:22 -0600
committerDenis Kenzior <denkenz@gmail.com>2015-11-04 21:53:22 -0600
commit35a91e191d48172925268977e882c870536eca6a (patch)
tree524cb26571e48c4508c14cc5d93d94f0506903a2 /drivers/rilmodem/sim.c
parent1ee79f04686d1db468050d9b3b11537b970941b0 (diff)
downloadofono-35a91e191d48172925268977e882c870536eca6a.tar.bz2
rilmodem: Implement ril_imsi_cb inline
Diffstat (limited to 'drivers/rilmodem/sim.c')
-rw-r--r--drivers/rilmodem/sim.c24
1 files changed, 11 insertions, 13 deletions
diff --git a/drivers/rilmodem/sim.c b/drivers/rilmodem/sim.c
index 1014845c..977a5751 100644
--- a/drivers/rilmodem/sim.c
+++ b/drivers/rilmodem/sim.c
@@ -537,32 +537,30 @@ static void ril_imsi_cb(struct ril_msg *message, gpointer user_data)
struct cb_data *cbd = user_data;
ofono_sim_imsi_cb_t cb = cbd->cb;
struct sim_data *sd = cbd->user;
- struct ofono_error error;
+ struct parcel rilp;
gchar *imsi;
- if (message->error == RIL_E_SUCCESS) {
- DBG("GET IMSI reply - OK");
- decode_ril_error(&error, "OK");
- } else {
+ if (message->error != RIL_E_SUCCESS) {
ofono_error("Reply failure: %s",
ril_error_to_string(message->error));
goto error;
}
- imsi = g_ril_reply_parse_imsi(sd->ril, message);
- if (imsi == NULL) {
- ofono_error("Error empty IMSI");
+ g_ril_init_parcel(message, &rilp);
+ imsi = parcel_r_string(&rilp);
+
+ g_ril_append_print_buf(sd->ril, "{%s}", imsi ? imsi : "NULL");
+ g_ril_print_response(sd->ril, message);
+
+ if (imsi == NULL)
goto error;
- }
- cb(&error, imsi, cbd->data);
+ CALLBACK_WITH_SUCCESS(cb, imsi, cbd->data);
g_free(imsi);
-
return;
error:
- decode_ril_error(&error, "FAIL");
- cb(&error, NULL, cbd->data);
+ CALLBACK_WITH_FAILURE(cb, NULL, cbd->data);
}
static void ril_read_imsi(struct ofono_sim *sim, ofono_sim_imsi_cb_t cb,