summaryrefslogtreecommitdiffstats
path: root/src/sim.c
diff options
context:
space:
mode:
authorAndrzej Zaborowski <andrew.zaborowski@intel.com>2009-08-01 14:17:43 +0200
committerDenis Kenzior <denkenz@gmail.com>2009-08-03 12:43:32 -0500
commitfbec2de66009afe7ab8a49d1b26deacf98dad381 (patch)
tree4028cd3db510e6119e0757a4444bcf7618669c8c /src/sim.c
parenta11bce5467d80e5a90785e6e362442ed4be516a6 (diff)
downloadofono-fbec2de66009afe7ab8a49d1b26deacf98dad381.tar.bz2
Make sure SIM read callbacks die cleanly.
Diffstat (limited to 'src/sim.c')
-rw-r--r--src/sim.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/sim.c b/src/sim.c
index 3903ee4d..93f230d8 100644
--- a/src/sim.c
+++ b/src/sim.c
@@ -182,7 +182,7 @@ static void sim_msisdn_read_cb(struct ofono_modem *modem, int ok,
struct ofono_phone_number *ph;
if (!ok)
- return;
+ goto check;
if (structure != OFONO_SIM_FILE_STRUCTURE_FIXED)
return;
@@ -202,7 +202,7 @@ static void sim_msisdn_read_cb(struct ofono_modem *modem, int ok,
sim->own_numbers = g_slist_prepend(sim->own_numbers, ph);
check:
- if (record == total && sim->own_numbers) {
+ if ((record == total || !ok) && sim->own_numbers) {
char **own_numbers;
DBusConnection *conn = ofono_dbus_get_connection();