Hi Andrew,
> ---
> src/stkutil.c | 33 +++++++++++++++++++++++++++++++++
> src/stkutil.h | 9 +++++++++
> 2 files changed, 42 insertions(+), 0 deletions(-)
>
> diff --git a/src/stkutil.c b/src/stkutil.c
> index cf22361..4e813ec 100644
> --- a/src/stkutil.c
> +++ b/src/stkutil.c
> @@ -3129,6 +3129,20 @@ static gboolean build_dataobj_text(struct
> stk_tlv_builder *tlv, return stk_tlv_close_container(tlv);
> }
>
> +/* Described in TS 102.223 Section 8.30 */
> +static gboolean build_dataobj_cc_requested_action(struct stk_tlv_builder
> *tlv, + const void *data, gboolean cr)
> +{
> + const struct stk_common_byte_array *action = data;
> +
> + return action->array == NULL ||
> + (stk_tlv_open_container(tlv, cr,
> + STK_DATA_OBJECT_TYPE_CALL_CONTROL_REQUESTED_ACTION,
> + FALSE) &&
> + stk_tlv_append_bytes(tlv, action->array, action->len) &&
> + stk_tlv_close_container(tlv));
> +}
> +
I really don't like this style, at the very least break up the tag into a
variable so it is one open/append/close per line. See how I did the others.
> static gboolean build_dataobj(struct stk_tlv_builder *tlv, gboolean
> (*builder_func)(struct stk_tlv_builder *,
> const void *, gboolean), ...)
> @@ -3231,6 +3245,25 @@ unsigned int stk_pdu_from_response(const struct
> stk_response *response, &response->select_item.item_id,
> NULL);
> break;
> + case STK_COMMAND_TYPE_SETUP_CALL:
> + if (response->set_up_call.modified_result.cc_modified)
> + ok = build_dataobj(&builder,
> + build_dataobj_cc_requested_action,
> + DATAOBJ_FLAG_CR,
> + &response->set_up_call.
> + cc_requested_action,
> + build_dataobj_result, DATAOBJ_FLAG_CR,
> + &response->set_up_call.modified_result.
> + result,
> + NULL);
> + else
> + ok = build_dataobj(&builder,
> + build_dataobj_cc_requested_action,
> + DATAOBJ_FLAG_CR,
> + &response->set_up_call.
> + cc_requested_action,
> + NULL);
> + break;
This really should be in a separate function, similar to how you did the local
info.
Regards,
-Denis
_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono