summaryrefslogtreecommitdiffstats
path: root/src/stkutil.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-03-01 17:57:56 -0600
committerDenis Kenzior <denkenz@gmail.com>2010-03-01 18:00:57 -0600
commit700a0ece696c24e912984353f00302d64fba58d0 (patch)
treeb198c5d2f8f1bcddf541e55f8d7fe3fee27bafd7 /src/stkutil.c
parent2c1cdebd1ab938ec86670a95532f06368577560e (diff)
downloadofono-700a0ece696c24e912984353f00302d64fba58d0.tar.bz2
Support Default Text data objects
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 c02d66b8..1207a5fc 100644
--- a/src/stkutil.c
+++ b/src/stkutil.c
@@ -97,9 +97,12 @@ static gboolean parse_dataobj_text(struct comprehension_tlv_iter *iter,
{
char **text = user;
unsigned int len;
+ enum stk_data_object_type tag;
- if (comprehension_tlv_iter_get_tag(iter) !=
- STK_DATA_OBJECT_TYPE_TEXT)
+ tag = comprehension_tlv_iter_get_tag(iter);
+
+ if (tag != STK_DATA_OBJECT_TYPE_TEXT &&
+ tag != STK_DATA_OBJECT_TYPE_DEFAULT_TEXT)
return FALSE;
len = comprehension_tlv_iter_get_length(iter);
@@ -148,8 +151,12 @@ static gboolean parse_dataobj_text(struct comprehension_tlv_iter *iter,
return FALSE;
*text = utf8;
- } else
+ } else {
+ if (tag == STK_DATA_OBJECT_TYPE_DEFAULT_TEXT)
+ return FALSE;
+
*text = NULL;
+ }
return TRUE;
}
@@ -252,6 +259,7 @@ static dataobj_handler handler_for_type(enum stk_data_object_type type)
case STK_DATA_OBJECT_TYPE_RESPONSE_LENGTH:
return parse_dataobj_response_len;
case STK_DATA_OBJECT_TYPE_TEXT:
+ case STK_DATA_OBJECT_TYPE_DEFAULT_TEXT:
return parse_dataobj_text;
case STK_DATA_OBJECT_TYPE_ICON_ID:
return parse_dataobj_icon_id;