diff options
author | Denis Kenzior <denkenz@gmail.com> | 2010-09-15 11:58:00 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-09-15 11:58:00 -0500 |
commit | a0d476281dda0cbcd416b64637f3efc3a7ff1bb6 (patch) | |
tree | bc722318324df8823a7b56e1492f05b1cd352221 /src/stkutil.c | |
parent | 47ddc4b70d9015a4fc9b22437d163446cc901027 (diff) | |
download | ofono-a0d476281dda0cbcd416b64637f3efc3a7ff1bb6.tar.bz2 |
stkutil: Don't include USSD text unless needed
Diffstat (limited to 'src/stkutil.c')
-rw-r--r-- | src/stkutil.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/stkutil.c b/src/stkutil.c index 3cfe06ae..cdd6b4e9 100644 --- a/src/stkutil.c +++ b/src/stkutil.c @@ -4177,11 +4177,19 @@ static gboolean build_dataobj_ussd_text(struct stk_tlv_builder *tlv, const struct stk_ussd_text *text = data; unsigned char tag = STK_DATA_OBJECT_TYPE_TEXT; - stk_tlv_builder_open_container(tlv, cr, tag, TRUE); + if (text->has_text == FALSE) + return TRUE; + + if (stk_tlv_builder_open_container(tlv, cr, tag, TRUE) != TRUE) + return FALSE; if (text->len > 0) { - stk_tlv_builder_append_byte(tlv, text->dcs); - stk_tlv_builder_append_bytes(tlv, text->text, text->len); + if (stk_tlv_builder_append_byte(tlv, text->dcs) != TRUE) + return FALSE; + + if (stk_tlv_builder_append_bytes(tlv, text->text, + text->len) != TRUE) + return FALSE; } return stk_tlv_builder_close_container(tlv); |