diff options
author | Frédéric Danis <frederic.danis@linux.intel.com> | 2011-07-21 16:58:09 +0200 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2011-07-21 20:26:43 -0500 |
commit | c7610c44afcd7f8da4831128e3869a09e51d51dc (patch) | |
tree | d919c156a353ed7059c7c23cd2dbdbad2174d5b6 | |
parent | ed4a5ac1746afc862641682b67f36837867ae135 (diff) | |
download | ofono-c7610c44afcd7f8da4831128e3869a09e51d51dc.tar.bz2 |
voicecall: remove usage of em_atd_number
as emulator atom can only run with a 'ready' SIM,
use saved number instead of em_atd_number
-rw-r--r-- | src/voicecall.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/voicecall.c b/src/voicecall.c index 9160ce8d..f4c2358b 100644 --- a/src/voicecall.c +++ b/src/voicecall.c @@ -74,7 +74,6 @@ struct ofono_voicecall { ofono_voicecall_cb_t release_queue_done_cb; struct ofono_emulator *pending_em; unsigned int pending_id; - char *em_atd_number; }; struct voicecall { @@ -1506,14 +1505,14 @@ static int voicecall_dial(struct ofono_voicecall *vc, const char *number, string_to_phone_number(number, &ph); - vc->driver->dial(vc, &ph, clir, cb, vc); - if (vc->settings) { g_key_file_set_string(vc->settings, SETTINGS_GROUP, "Number", number); storage_sync(vc->imsi, SETTINGS_STORE, vc->settings); } + vc->driver->dial(vc, &ph, clir, cb, vc); + return 0; } @@ -3154,13 +3153,18 @@ static void emulator_dial_callback(const struct ofono_error *error, void *data) struct ofono_voicecall *vc = data; gboolean need_to_emit; struct voicecall *v; + const char *number; + GError *err = NULL; + + number = g_key_file_get_string(vc->settings, SETTINGS_GROUP, + "Number", &err); - v = dial_handle_result(vc, error, vc->em_atd_number, &need_to_emit); + v = dial_handle_result(vc, error, number, &need_to_emit); if (v == NULL) { struct ofono_modem *modem = __ofono_atom_get_modem(vc->atom); - if (is_emergency_number(vc, vc->em_atd_number) == TRUE) + if (is_emergency_number(vc, number) == TRUE) __ofono_modem_dec_emergency_mode(modem); } @@ -3168,8 +3172,6 @@ static void emulator_dial_callback(const struct ofono_error *error, void *data) ofono_emulator_send_final(vc->pending_em, error); vc->pending_em = NULL; - g_free(vc->em_atd_number); - vc->em_atd_number = NULL; notify_emulator_call_status(vc); @@ -3191,7 +3193,6 @@ static void emulator_dial(struct ofono_emulator *em, struct ofono_voicecall *vc, } vc->pending_em = em; - vc->em_atd_number = g_strdup(number); err = voicecall_dial(vc, number, OFONO_CLIR_OPTION_DEFAULT, emulator_dial_callback, vc); @@ -3200,8 +3201,6 @@ static void emulator_dial(struct ofono_emulator *em, struct ofono_voicecall *vc, return; vc->pending_em = NULL; - g_free(vc->em_atd_number); - vc->em_atd_number = NULL; switch (err) { case -ENETDOWN: |