summaryrefslogtreecommitdiffstats
path: root/src/stkutil.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-09-15 11:58:00 -0500
committerDenis Kenzior <denkenz@gmail.com>2010-09-15 11:58:00 -0500
commita0d476281dda0cbcd416b64637f3efc3a7ff1bb6 (patch)
treebc722318324df8823a7b56e1492f05b1cd352221 /src/stkutil.c
parent47ddc4b70d9015a4fc9b22437d163446cc901027 (diff)
downloadofono-a0d476281dda0cbcd416b64637f3efc3a7ff1bb6.tar.bz2
stkutil: Don't include USSD text unless needed
Diffstat (limited to 'src/stkutil.c')
-rw-r--r--src/stkutil.c14
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);