Refactor: generic boolean parsers

This commit is contained in:
Denis Kenzior 2010-03-30 10:19:23 -05:00
parent 8646e13bf3
commit f8140bf66b
1 changed files with 6 additions and 11 deletions

View File

@ -52,17 +52,12 @@ struct gsm_sms_tpdu {
/* For data object only to indicate its existence */ /* For data object only to indicate its existence */
static gboolean parse_dataobj_common_bool(struct comprehension_tlv_iter *iter, static gboolean parse_dataobj_common_bool(struct comprehension_tlv_iter *iter,
void *user, enum stk_data_object_type type) gboolean *out)
{ {
gboolean *ret = user;
if (comprehension_tlv_iter_get_tag(iter) != type)
return FALSE;
if (comprehension_tlv_iter_get_length(iter) != 0) if (comprehension_tlv_iter_get_length(iter) != 0)
return FALSE; return FALSE;
*ret = TRUE; *out = TRUE;
return TRUE; return TRUE;
} }
@ -559,8 +554,8 @@ static gboolean parse_dataobj_imei(struct comprehension_tlv_iter *iter,
static gboolean parse_dataobj_help_request(struct comprehension_tlv_iter *iter, static gboolean parse_dataobj_help_request(struct comprehension_tlv_iter *iter,
void *user) void *user)
{ {
return parse_dataobj_common_bool(iter, user, gboolean *ret = user;
STK_DATA_OBJECT_TYPE_HELP_REQUEST); return parse_dataobj_common_bool(iter, ret);
} }
/* Defined in TS 102.223 Section 8.22 */ /* Defined in TS 102.223 Section 8.22 */
@ -605,8 +600,8 @@ static gboolean parse_dataobj_icon_id(struct comprehension_tlv_iter *iter,
static gboolean parse_dataobj_imm_resp(struct comprehension_tlv_iter *iter, static gboolean parse_dataobj_imm_resp(struct comprehension_tlv_iter *iter,
void *user) void *user)
{ {
return parse_dataobj_common_bool(iter, user, gboolean *ret = user;
STK_DATA_OBJECT_TYPE_IMMEDIATE_RESPONSE); return parse_dataobj_common_bool(iter, ret);
} }
/* Defined in TS 102.223 Section 8.72 */ /* Defined in TS 102.223 Section 8.72 */