Hi Jeevaka,

On 09/09/2010 02:06 PM, Jeevaka Badrappan wrote:
> ---
>  src/stkutil.c |   23 +++++++++++++++++++++++
>  1 files changed, 23 insertions(+), 0 deletions(-)
> 
> diff --git a/src/stkutil.c b/src/stkutil.c
> index ae4cc32..c69ebba 100644
> --- a/src/stkutil.c
> +++ b/src/stkutil.c
> @@ -4170,6 +4170,22 @@ static gboolean build_dataobj_text(struct 
> stk_tlv_builder *tlv,
>       return stk_tlv_builder_close_container(tlv);
>  }
>  
> +/* Defined in TS 102.223 Section 8.15 - USSD specific case*/
> +static gboolean build_dataobj_ussd_text(struct stk_tlv_builder *tlv,
> +                                     const void *data, gboolean cr)
> +{
> +     const struct stk_ussd_text *text = data;
> +     unsigned char tag = STK_DATA_OBJECT_TYPE_TEXT;
> +
> +     if (!text->text)
> +             return TRUE;

This still does not handle empty data.  We should do something like:

open_container()

if (text->len > 0) {
        append_byte(dcs);
        append_bytes(text);
}

close_container()

> +
> +     return stk_tlv_builder_open_container(tlv, cr, tag, TRUE) &&
> +             stk_tlv_builder_append_byte(tlv, text->dcs) &&
> +             stk_tlv_builder_append_bytes(tlv, text->text, text->len) &&
> +             stk_tlv_builder_close_container(tlv);
> +}
> +

Regards,
-Denis
_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono

Reply via email to