summaryrefslogtreecommitdiffstats
path: root/src/stkutil.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-05-24 18:07:50 -0500
committerDenis Kenzior <denkenz@gmail.com>2010-05-25 16:52:54 -0500
commitce449d0929960133fd626ff7cb68043dc98d267d (patch)
tree569f330a0c4a10b83c5e9c23721d65746bcf9b93 /src/stkutil.c
parentff67ee8a2ece64ece0c6c2e98ba48c98468d8dc2 (diff)
downloadofono-ce449d0929960133fd626ff7cb68043dc98d267d.tar.bz2
stkutil: More style issues
- Make stk_tlv_builder usage consistent (builder was missing) - Various style issues
Diffstat (limited to 'src/stkutil.c')
-rw-r--r--src/stkutil.c106
1 files changed, 54 insertions, 52 deletions
diff --git a/src/stkutil.c b/src/stkutil.c
index 2ccdffc3..f0b47260 100644
--- a/src/stkutil.c
+++ b/src/stkutil.c
@@ -2860,7 +2860,7 @@ void stk_command_free(struct stk_command *command)
g_free(command);
}
-static inline gboolean stk_tlv_builder_init(struct stk_tlv_builder *iter,
+static gboolean stk_tlv_builder_init(struct stk_tlv_builder *iter,
unsigned char *pdu,
unsigned int size)
{
@@ -2870,7 +2870,7 @@ static inline gboolean stk_tlv_builder_init(struct stk_tlv_builder *iter,
return comprehension_tlv_builder_init(&iter->ctlv, pdu, size);
}
-static inline gboolean stk_tlv_open_container(struct stk_tlv_builder *iter,
+static gboolean stk_tlv_builder_open_container(struct stk_tlv_builder *iter,
gboolean cr,
unsigned char shorttag,
gboolean relocatable)
@@ -2889,18 +2889,18 @@ static inline gboolean stk_tlv_open_container(struct stk_tlv_builder *iter,
return TRUE;
}
-static inline gboolean stk_tlv_close_container(struct stk_tlv_builder *iter)
+static gboolean stk_tlv_builder_close_container(struct stk_tlv_builder *iter)
{
return comprehension_tlv_builder_set_length(&iter->ctlv, iter->len);
}
-static inline unsigned int stk_tlv_get_length(struct stk_tlv_builder *iter)
+static unsigned int stk_tlv_builder_get_length(struct stk_tlv_builder *iter)
{
return comprehension_tlv_builder_get_data(&iter->ctlv) -
iter->ctlv.pdu + iter->len;
}
-static inline gboolean stk_tlv_append_byte(struct stk_tlv_builder *iter,
+static gboolean stk_tlv_builder_append_byte(struct stk_tlv_builder *iter,
unsigned char num)
{
if (iter->len >= iter->max_len)
@@ -2910,8 +2910,8 @@ static inline gboolean stk_tlv_append_byte(struct stk_tlv_builder *iter,
return TRUE;
}
-static inline gboolean stk_tlv_append_text(struct stk_tlv_builder *iter,
- int dcs, const char *text)
+static gboolean stk_tlv_builder_append_gsm_packed(struct stk_tlv_builder *iter,
+ const char *text)
{
unsigned int len;
unsigned char *gsm;
@@ -2944,8 +2944,9 @@ static inline gboolean stk_tlv_append_text(struct stk_tlv_builder *iter,
return TRUE;
}
-static inline gboolean stk_tlv_append_gsm_unpacked(struct stk_tlv_builder *iter,
- const char *text)
+static gboolean stk_tlv_builder_append_gsm_unpacked(
+ struct stk_tlv_builder *iter,
+ const char *text)
{
unsigned int len;
unsigned char *gsm;
@@ -2974,8 +2975,8 @@ static inline gboolean stk_tlv_append_gsm_unpacked(struct stk_tlv_builder *iter,
return TRUE;
}
-static inline gboolean stk_tlv_append_ucs2(struct stk_tlv_builder *iter,
- const char *text)
+static gboolean stk_tlv_builder_append_ucs2(struct stk_tlv_builder *iter,
+ const char *text)
{
unsigned char *ucs2;
gsize gwritten;
@@ -3001,31 +3002,31 @@ static inline gboolean stk_tlv_append_ucs2(struct stk_tlv_builder *iter,
return TRUE;
}
-static inline gboolean stk_tlv_append_text(struct stk_tlv_builder *iter,
+static gboolean stk_tlv_builder_append_text(struct stk_tlv_builder *iter,
int dcs, const char *text)
{
gboolean ret;
switch (dcs) {
case 0x00:
- return stk_tlv_append_gsm_packed(iter, text);
+ return stk_tlv_builder_append_gsm_packed(iter, text);
case 0x04:
- return stk_tlv_append_gsm_unpacked(iter, text);
+ return stk_tlv_builder_append_gsm_unpacked(iter, text);
case 0x08:
- return stk_tlv_append_ucs2(iter, text);
+ return stk_tlv_builder_append_ucs2(iter, text);
case -1:
- ret = stk_tlv_append_gsm_unpacked(iter, text);
+ ret = stk_tlv_builder_append_gsm_unpacked(iter, text);
if (ret == TRUE)
return ret;
- return stk_tlv_append_ucs2(iter, text);
+ return stk_tlv_builder_append_ucs2(iter, text);
}
return FALSE;
}
-static inline gboolean stk_tlv_append_bytes(struct stk_tlv_builder *iter,
+static inline gboolean stk_tlv_builder_append_bytes(struct stk_tlv_builder *iter,
const unsigned char *data,
unsigned int length)
{
@@ -3048,9 +3049,9 @@ static gboolean build_dataobj_item_id(struct stk_tlv_builder *tlv,
if (*item_id == 0)
return TRUE;
- return stk_tlv_open_container(tlv, cr, tag, FALSE) &&
- stk_tlv_append_byte(tlv, *item_id) &&
- stk_tlv_close_container(tlv);
+ return stk_tlv_builder_open_container(tlv, cr, tag, FALSE) &&
+ stk_tlv_builder_append_byte(tlv, *item_id) &&
+ stk_tlv_builder_close_container(tlv);
}
/* Described in TS 102.223 Section 8.8 */
@@ -3063,10 +3064,10 @@ static gboolean build_dataobj_duration(struct stk_tlv_builder *tlv,
if (duration->interval == 0x00)
return TRUE;
- return stk_tlv_open_container(tlv, cr, tag, FALSE) &&
- stk_tlv_append_byte(tlv, duration->unit) &&
- stk_tlv_append_byte(tlv, duration->interval) &&
- stk_tlv_close_container(tlv);
+ return stk_tlv_builder_open_container(tlv, cr, tag, FALSE) &&
+ stk_tlv_builder_append_byte(tlv, duration->unit) &&
+ stk_tlv_builder_append_byte(tlv, duration->interval) &&
+ stk_tlv_builder_close_container(tlv);
}
/* Described in TS 102.223 Section 8.12 */
@@ -3076,18 +3077,18 @@ static gboolean build_dataobj_result(struct stk_tlv_builder *tlv,
const struct stk_result *result = data;
unsigned char tag = STK_DATA_OBJECT_TYPE_RESULT;
- if (stk_tlv_open_container(tlv, cr, tag, FALSE) == FALSE)
+ if (stk_tlv_builder_open_container(tlv, cr, tag, FALSE) == FALSE)
return FALSE;
- if (stk_tlv_append_byte(tlv, result->type) == FALSE)
+ if (stk_tlv_builder_append_byte(tlv, result->type) == FALSE)
return FALSE;
if (result->additional_len > 0)
- if (stk_tlv_append_bytes(tlv, result->additional,
+ if (stk_tlv_builder_append_bytes(tlv, result->additional,
result->additional_len) == FALSE)
return FALSE;
- if (stk_tlv_close_container(tlv) == FALSE)
+ if (stk_tlv_builder_close_container(tlv) == FALSE)
return FALSE;
}
@@ -3096,12 +3097,13 @@ static gboolean build_dataobj_text(struct stk_tlv_builder *tlv,
const void *data, gboolean cr)
{
const struct stk_answer_text *text = data;
+ unsigned char tag = STK_DATA_OBJECT_TYPE_TEXT;
+ gboolean ret;
if (!text->text && !text->yesno)
return TRUE;
- if (stk_tlv_open_container(tlv, cr, STK_DATA_OBJECT_TYPE_TEXT,
- TRUE) != TRUE)
+ if (stk_tlv_builder_open_container(tlv, cr, tag, TRUE) != TRUE)
return FALSE;
if (text->yesno == TRUE) {
@@ -3111,20 +3113,20 @@ static gboolean build_dataobj_text(struct stk_tlv_builder *tlv,
* answer is "positive" and the value '00' when the
* answer is "negative" in the text string data object.
*/
- if (stk_tlv_append_byte(tlv, 0x04) != TRUE)
+ if (stk_tlv_builder_append_byte(tlv, 0x04) != TRUE)
return FALSE;
- if (stk_tlv_append_byte(tlv, text->text ? 0x01 : 0x00) != TRUE)
- return FALSE;
- } else if (text->packed) {
- if (stk_tlv_append_text(tlv, 0x00, text->text) != TRUE)
- return FALSE;
- } else {
- if (stk_tlv_append_text(tlv, -1, text->text) != TRUE)
- return FALSE;
- }
+ ret = stk_tlv_builder_append_byte(tlv,
+ text->text ? 0x01 : 0x00);
+ } else if (text->packed)
+ ret = stk_tlv_builder_append_gsm_packed(tlv, text->text);
+ else
+ ret = stk_tlv_builder_append_text(tlv, -1, text->text);
+
+ if (ret != TRUE)
+ return ret;
- return stk_tlv_close_container(tlv);
+ return stk_tlv_builder_close_container(tlv);
}
static gboolean build_dataobj(struct stk_tlv_builder *tlv,
@@ -3163,19 +3165,19 @@ unsigned int stk_pdu_from_response(const struct stk_response *response,
* and the Result TLV. Comprehension required everywhere.
*/
tag = STK_DATA_OBJECT_TYPE_COMMAND_DETAILS;
- if (stk_tlv_open_container(&builder, TRUE, tag, FALSE) == FALSE)
+ if (stk_tlv_builder_open_container(&builder, TRUE, tag, FALSE) == FALSE)
return 0;
- if (stk_tlv_append_byte(&builder, response->number) == FALSE)
+ if (stk_tlv_builder_append_byte(&builder, response->number) == FALSE)
return 0;
- if (stk_tlv_append_byte(&builder, response->type) == FALSE)
+ if (stk_tlv_builder_append_byte(&builder, response->type) == FALSE)
return 0;
- if (stk_tlv_append_byte(&builder, response->qualifier) == FALSE)
+ if (stk_tlv_builder_append_byte(&builder, response->qualifier) == FALSE)
return 0;
- if (stk_tlv_close_container(&builder) == FALSE)
+ if (stk_tlv_builder_close_container(&builder) == FALSE)
return 0;
/* TS 102 223 section 6.8 states:
@@ -3189,16 +3191,16 @@ unsigned int stk_pdu_from_response(const struct stk_response *response,
* data object type.
*/
tag = STK_DATA_OBJECT_TYPE_DEVICE_IDENTITIES;
- if (stk_tlv_open_container(&builder, TRUE, tag, FALSE) == FALSE)
+ if (stk_tlv_builder_open_container(&builder, TRUE, tag, FALSE) == FALSE)
return 0;
- if (stk_tlv_append_byte(&builder, response->src) == FALSE)
+ if (stk_tlv_builder_append_byte(&builder, response->src) == FALSE)
return 0;
- if (stk_tlv_append_byte(&builder, response->dst) == FALSE)
+ if (stk_tlv_builder_append_byte(&builder, response->dst) == FALSE)
return 0;
- if (stk_tlv_close_container(&builder) == FALSE)
+ if (stk_tlv_builder_close_container(&builder) == FALSE)
return 0;
if (build_dataobj_result(&builder, &response->result, TRUE) != TRUE)
@@ -3246,5 +3248,5 @@ unsigned int stk_pdu_from_response(const struct stk_response *response,
if (ok != TRUE)
return 0;
- return stk_tlv_get_length(&builder);
+ return stk_tlv_builder_get_length(&builder);
}