diff options
author | Denis Kenzior <denkenz@gmail.com> | 2010-03-01 17:57:56 -0600 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-03-01 18:00:57 -0600 |
commit | 700a0ece696c24e912984353f00302d64fba58d0 (patch) | |
tree | b198c5d2f8f1bcddf541e55f8d7fe3fee27bafd7 /src/stkutil.c | |
parent | 2c1cdebd1ab938ec86670a95532f06368577560e (diff) | |
download | ofono-700a0ece696c24e912984353f00302d64fba58d0.tar.bz2 |
Support Default Text data objects
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 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; |