diff options
author | Denis Kenzior <denkenz@gmail.com> | 2010-03-10 11:26:18 -0600 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-03-15 21:02:02 -0500 |
commit | bbf67bd4a0cf7124d8da9712f44670a1acaf2d08 (patch) | |
tree | 629895cddd42c02131bc4fb5ba730cceabcf2e64 /src | |
parent | 1dfb59b6102511536c79220c610c016d53897602 (diff) | |
download | ofono-bbf67bd4a0cf7124d8da9712f44670a1acaf2d08.tar.bz2 |
Refactor: stk alpha identifier object
Style issues, we must also return FALSE in case conversion fails
Diffstat (limited to 'src')
-rw-r--r-- | src/stkutil.c | 18 | ||||
-rw-r--r-- | src/stkutil.h | 2 |
2 files changed, 13 insertions, 7 deletions
diff --git a/src/stkutil.c b/src/stkutil.c index a2702829..d5d963f7 100644 --- a/src/stkutil.c +++ b/src/stkutil.c @@ -67,15 +67,16 @@ static gboolean parse_dataobj_address(struct comprehension_tlv_iter *iter, } /* Defined in TS 102.223 Section 8.2 */ -static gboolean parse_dataobj_alpha_identifier( - struct comprehension_tlv_iter *iter, void *user) +static gboolean parse_dataobj_alpha_id(struct comprehension_tlv_iter *iter, + void *user) { char **alpha_id = user; const unsigned char *data; unsigned int len; + char *utf8; if (comprehension_tlv_iter_get_tag(iter) != - STK_DATA_OBJECT_TYPE_ALPHA_IDENTIFIER) + STK_DATA_OBJECT_TYPE_ALPHA_ID) return FALSE; len = comprehension_tlv_iter_get_length(iter); @@ -83,7 +84,12 @@ static gboolean parse_dataobj_alpha_identifier( return FALSE; data = comprehension_tlv_iter_get_data(iter); - *alpha_id = sim_string_to_utf8(data, len); + utf8 = sim_string_to_utf8(data, len); + + if (utf8 == NULL) + return FALSE; + + *alpha_id = utf8; return TRUE; } @@ -471,8 +477,8 @@ static dataobj_handler handler_for_type(enum stk_data_object_type type) switch (type) { case STK_DATA_OBJECT_TYPE_ADDRESS: return parse_dataobj_address; - case STK_DATA_OBJECT_TYPE_ALPHA_IDENTIFIER: - return parse_dataobj_alpha_identifier; + case STK_DATA_OBJECT_TYPE_ALPHA_ID: + return parse_dataobj_alpha_id; case STK_DATA_OBJECT_TYPE_SUBADDRESS: return parse_dataobj_subaddress; case STK_DATA_OBJECT_TYPE_CAPABILITY_CONFIGURATION_PARAMETERS: diff --git a/src/stkutil.h b/src/stkutil.h index 7acf3faf..b67bbefe 100644 --- a/src/stkutil.h +++ b/src/stkutil.h @@ -85,7 +85,7 @@ enum stk_data_object_type { STK_DATA_OBJECT_TYPE_DEVICE_IDENTITIES = 0x02, STK_DATA_OBJECT_TYPE_RESULT = 0x03, STK_DATA_OBJECT_TYPE_DURATION = 0x04, - STK_DATA_OBJECT_TYPE_ALPHA_IDENTIFIER = 0x05, + STK_DATA_OBJECT_TYPE_ALPHA_ID = 0x05, STK_DATA_OBJECT_TYPE_ADDRESS = 0x06, STK_DATA_OBJECT_TYPE_CAPABILITY_CONFIGURATION_PARAMETERS = 0x07, STK_DATA_OBJECT_TYPE_SUBADDRESS = 0x08, |