summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2009-12-17 16:04:30 -0600
committerDenis Kenzior <denkenz@gmail.com>2009-12-17 21:45:38 -0600
commitb1cc0bc18466c861410f9f639f04461c70b6081e (patch)
tree763c4cade4347010d294344f8155df3624e53318
parente27508f71a129db0a455e6caf5925d6c9c2fc94d (diff)
downloadofono-b1cc0bc18466c861410f9f639f04461c70b6081e.tar.bz2
Simplify previous patch
-rw-r--r--drivers/atmodem/sim.c34
1 files changed, 14 insertions, 20 deletions
diff --git a/drivers/atmodem/sim.c b/drivers/atmodem/sim.c
index fca6f0f4..7159d9f2 100644
--- a/drivers/atmodem/sim.c
+++ b/drivers/atmodem/sim.c
@@ -717,37 +717,31 @@ static void at_csim_envelope_cb(gboolean ok, GAtResult *result,
dump_response("at_csim_envelope_cb", ok, result);
decode_at_error(&error, g_at_result_final_response(result));
- if (!ok) {
- CALLBACK_WITH_FAILURE(cb, NULL, 0, cbd->data);
- return;
- }
+ if (!ok)
+ goto error;
g_at_result_iter_init(&iter, result);
- if (!g_at_result_iter_next(&iter, "+CSIM:")) {
- CALLBACK_WITH_FAILURE(cb, NULL, 0, cbd->data);
- return;
- }
+ if (!g_at_result_iter_next(&iter, "+CSIM:"))
+ goto error;
- if (!g_at_result_iter_next_number(&iter, &rlen)) {
- CALLBACK_WITH_FAILURE(cb, NULL, 0, cbd->data);
- return;
- }
+ if (!g_at_result_iter_next_number(&iter, &rlen))
+ goto error;
- if (!g_at_result_iter_next_hexstring(&iter, &response, &len)) {
- CALLBACK_WITH_FAILURE(cb, NULL, 0, cbd->data);
- return;
- }
+ if (!g_at_result_iter_next_hexstring(&iter, &response, &len))
+ goto error;
if (rlen != len * 2 || len < 2 ||
- response[len - 2] != 0x90 || response[len - 1] != 0) {
- CALLBACK_WITH_FAILURE(cb, NULL, 0, cbd->data);
- return;
- }
+ response[len - 2] != 0x90 || response[len - 1] != 0)
+ goto error;
ofono_debug("csim_envelope_cb: %i", len);
cb(&error, response, len - 2, cbd->data);
+ return;
+
+error:
+ CALLBACK_WITH_FAILURE(cb, NULL, 0, cbd->data);
}
static void at_sim_envelope(struct ofono_sim *sim, int length,