Hi Philippe,

On 14 April 2011 14:40, Philippe Nunes <[email protected]> wrote:
> ---
>  src/stk.c |   27 ++-------------------------
>  1 files changed, 2 insertions(+), 25 deletions(-)
>
> diff --git a/src/stk.c b/src/stk.c
> index c86cbfb..8214b65 100644
> --- a/src/stk.c
> +++ b/src/stk.c
> @@ -128,6 +128,7 @@ static int stk_respond(struct ofono_stk *stk, struct 
> stk_response *rsp,
>        stk_command_free(stk->pending_cmd);
>        stk->pending_cmd = NULL;
>        stk->cancel_cmd = NULL;
> +       stk->respond_on_exit = FALSE;
>
>        stk->driver->terminal_response(stk, tlv_len, tlv, cb, stk);
>

Overall this looks good.

> @@ -477,10 +478,8 @@ static void user_termination_cb(enum stk_agent_result 
> result, void *user_data)
>  {
>        struct ofono_stk *stk = user_data;
>
> -       if (result == STK_AGENT_RESULT_TERMINATE) {
> -               stk->respond_on_exit = FALSE;
> +       if (result == STK_AGENT_RESULT_TERMINATE)
>                send_simple_response(stk, STK_RESULT_TYPE_USER_TERMINATED);
> -       }
>  }
>
>  static void stk_alpha_id_set(struct ofono_stk *stk,
> @@ -598,7 +597,6 @@ static void default_agent_notify(gpointer user_data)
>
>        stk->default_agent = NULL;
>        stk->current_agent = stk->session_agent;
> -       stk->respond_on_exit = FALSE;
>  }
>
>  static void session_agent_notify(gpointer user_data)
> @@ -617,7 +615,6 @@ static void session_agent_notify(gpointer user_data)
>
>        stk->session_agent = NULL;
>        stk->current_agent = stk->default_agent;
> -       stk->respond_on_exit = FALSE;
>
>        if (stk->remove_agent_source) {
>                g_source_remove(stk->remove_agent_source);
> @@ -1159,8 +1156,6 @@ static void request_selection_cb(enum stk_agent_result 
> result, uint8_t id,
>  {
>        struct ofono_stk *stk = user_data;
>
> -       stk->respond_on_exit = FALSE;
> -
>        switch (result) {
>        case STK_AGENT_RESULT_OK:
>        {
> @@ -1243,8 +1238,6 @@ static void display_text_cb(enum stk_agent_result 
> result, void *user_data)
>        static unsigned char screen_busy_result[] = { 0x01 };
>        static struct ofono_error error = { .type = OFONO_ERROR_TYPE_FAILURE };
>
> -       stk->respond_on_exit = FALSE;
> -
>        /*
>         * There are four possible paths for DisplayText with immediate
>         * response flag set:
> @@ -1386,8 +1379,6 @@ static void request_confirmation_cb(enum 
> stk_agent_result result,
>        struct stk_command_get_inkey *cmd = &stk->pending_cmd->get_inkey;
>        struct stk_response rsp;
>
> -       stk->respond_on_exit = FALSE;
> @@ -1442,8 +1433,6 @@ static void request_key_cb(enum stk_agent_result 
> result, char *string,
>        struct stk_command_get_inkey *cmd = &stk->pending_cmd->get_inkey;
>        struct stk_response rsp;
>
> -       stk->respond_on_exit = FALSE;
> -
>        switch (result) {
>        case STK_AGENT_RESULT_OK:
>                memset(&rsp, 0, sizeof(rsp));
> @@ -1560,8 +1549,6 @@ static void request_string_cb(enum stk_agent_result 
> result, char *string,
>        gboolean packed = (qualifier & (1 << 3)) != 0;
>        struct stk_response rsp;
>
> -       stk->respond_on_exit = FALSE;
> -
>        switch (result) {
>        case STK_AGENT_RESULT_OK:
>                memset(&rsp, 0, sizeof(rsp));
> @@ -1699,8 +1686,6 @@ static void confirm_call_cb(enum stk_agent_result 
> result, gboolean confirm,
>        struct stk_response rsp;
>        int err;
>
> -       stk->respond_on_exit = FALSE;

However there's a change in behaviour here which I think is incorrect.
 We need to wait for the call to be cancelled or connected before
responding, so I'd just leave this line as is.

Best regards
_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono

Reply via email to