Refactor: stk alpha identifier object
authorDenis Kenzior <denkenz@gmail.com>
Wed, 10 Mar 2010 17:26:18 +0000 (11:26 -0600)
committerDenis Kenzior <denkenz@gmail.com>
Tue, 16 Mar 2010 02:02:02 +0000 (21:02 -0500)
Style issues, we must also return FALSE in case conversion fails

src/stkutil.c
src/stkutil.h

index a270282..d5d963f 100644 (file)
@@ -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:
index 7acf3fa..b67bbef 100644 (file)
@@ -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,