aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-mbim.c
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2013-12-22 16:27:21 +0000
committerPascal Quantin <pascal.quantin@gmail.com>2013-12-22 16:27:21 +0000
commit3fba8ea2fe8d53b0494ed5f81b5dad67bcf32bf3 (patch)
tree2ff8375c9cbbfc725b4c3514fc5fd9c3ed6a1d47 /epan/dissectors/packet-mbim.c
parente348c13deb255db357154dc066f32cc7c178da78 (diff)
proto_tree_add_text -> proto_tree_add_item
svn path=/trunk/; revision=54365
Diffstat (limited to 'epan/dissectors/packet-mbim.c')
-rw-r--r--epan/dissectors/packet-mbim.c49
1 files changed, 28 insertions, 21 deletions
diff --git a/epan/dissectors/packet-mbim.c b/epan/dissectors/packet-mbim.c
index 577380b07b..e43ce59a92 100644
--- a/epan/dissectors/packet-mbim.c
+++ b/epan/dissectors/packet-mbim.c
@@ -374,16 +374,17 @@ static int hf_mbim_sms_status_info_flags_new_message = -1;
static int hf_mbim_sms_status_info_message_index = -1;
static int hf_mbim_set_ussd_ussd_action = -1;
static int hf_mbim_set_ussd_ussd_data_coding_scheme = -1;
-static int hf_mbim_set_ussd_ussd_ussd_payload_offset = -1;
-static int hf_mbim_set_ussd_ussd_ussd_payload_length = -1;
-static int hf_mbim_set_ussd_ussd_ussd_payload = -1;
-static int hf_mbim_set_ussd_ussd_ussd_payload_text = -1;
+static int hf_mbim_set_ussd_ussd_payload_offset = -1;
+static int hf_mbim_set_ussd_ussd_payload_length = -1;
+static int hf_mbim_set_ussd_ussd_payload = -1;
+static int hf_mbim_set_ussd_ussd_payload_text = -1;
static int hf_mbim_ussd_info_ussd_response = -1;
static int hf_mbim_ussd_info_ussd_session_state = -1;
static int hf_mbim_ussd_info_ussd_data_coding_scheme = -1;
static int hf_mbim_ussd_info_ussd_payload_offset = -1;
static int hf_mbim_ussd_info_ussd_payload_length = -1;
static int hf_mbim_ussd_info_ussd_payload = -1;
+static int hf_mbim_ussd_info_ussd_payload_text = -1;
static int hf_mbim_phonebook_configuration_info_phonebook_state = -1;
static int hf_mbim_phonebook_configuration_info_total_nb_of_entries = -1;
static int hf_mbim_phonebook_configuration_info_used_entries = -1;
@@ -3041,35 +3042,35 @@ mbim_dissect_set_ussd(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint
encoding = dissect_cbs_data_coding_scheme(tvb, pinfo, subtree, offset);
offset += 4;
ussd_payload_offset = tvb_get_letohl(tvb, offset);
- proto_tree_add_uint(tree, hf_mbim_set_ussd_ussd_ussd_payload_offset, tvb, offset, 4, ussd_payload_offset);
+ proto_tree_add_uint(tree, hf_mbim_set_ussd_ussd_payload_offset, tvb, offset, 4, ussd_payload_offset);
offset += 4;
ussd_payload_length = tvb_get_letohl(tvb, offset);
- proto_tree_add_uint(tree, hf_mbim_set_ussd_ussd_ussd_payload_length, tvb, offset, 4, ussd_payload_length);
+ proto_tree_add_uint(tree, hf_mbim_set_ussd_ussd_payload_length, tvb, offset, 4, ussd_payload_length);
/*offset += 4;*/
if (ussd_payload_offset && ussd_payload_length) {
- ti = proto_tree_add_item(tree, hf_mbim_set_ussd_ussd_ussd_payload, tvb, base_offset + ussd_payload_offset,
+ ti = proto_tree_add_item(tree, hf_mbim_set_ussd_ussd_payload, tvb, base_offset + ussd_payload_offset,
ussd_payload_length, ENC_NA);
subtree = proto_item_add_subtree(ti, ett_mbim_buffer);
ussd_tvb = tvb_new_subset(tvb, base_offset + ussd_payload_offset, ussd_payload_length, ussd_payload_length);
switch (encoding) {
case SMS_ENCODING_7BIT:
case SMS_ENCODING_7BIT_LANG:
- ussd = (guint8*)wmem_alloc(wmem_packet_scope(), ussd_payload_length);
+ ussd = (guint8*)wmem_alloc(wmem_packet_scope(), ussd_payload_length+1);
out_len = gsm_sms_char_7bit_unpack(0, ussd_payload_length, ussd_payload_length,
tvb_get_ptr(ussd_tvb, 0, ussd_payload_length), ussd);
ussd[out_len] = '\0';
utf8_text = gsm_sms_chars_to_utf8(ussd, out_len);
- proto_tree_add_string(subtree, hf_mbim_set_ussd_ussd_ussd_payload_text,
+ proto_tree_add_string(subtree, hf_mbim_set_ussd_ussd_payload_text,
ussd_tvb, 0, ussd_payload_length, utf8_text);
break;
case SMS_ENCODING_8BIT:
/* XXX - ASCII, or some extended ASCII? */
- proto_tree_add_item(subtree, hf_mbim_set_ussd_ussd_ussd_payload_text,
+ proto_tree_add_item(subtree, hf_mbim_set_ussd_ussd_payload_text,
ussd_tvb , 0, ussd_payload_length, ENC_ASCII|ENC_NA);
break;
case SMS_ENCODING_UCS2:
case SMS_ENCODING_UCS2_LANG:
- proto_tree_add_item(subtree, hf_mbim_set_ussd_ussd_ussd_payload_text,
+ proto_tree_add_item(subtree, hf_mbim_set_ussd_ussd_payload_text,
ussd_tvb , 0, ussd_payload_length, ENC_UCS_2|ENC_BIG_ENDIAN);
break;
default:
@@ -3113,22 +3114,23 @@ mbim_dissect_ussd_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint
switch (encoding) {
case SMS_ENCODING_7BIT:
case SMS_ENCODING_7BIT_LANG:
- ussd = (guint8*)wmem_alloc(wmem_packet_scope(), ussd_payload_length);
+ ussd = (guint8*)wmem_alloc(wmem_packet_scope(), ussd_payload_length+1);
out_len = gsm_sms_char_7bit_unpack(0, ussd_payload_length, ussd_payload_length,
tvb_get_ptr(ussd_tvb, 0, ussd_payload_length), ussd);
ussd[out_len] = '\0';
utf8_text = gsm_sms_chars_to_utf8(ussd, out_len);
- proto_tree_add_text(subtree, ussd_tvb, 0, ussd_payload_length, "%s", utf8_text);
+ proto_tree_add_string(subtree, hf_mbim_ussd_info_ussd_payload_text,
+ ussd_tvb, 0, ussd_payload_length, utf8_text);
break;
case SMS_ENCODING_8BIT:
/* XXX - ASCII, or some extended ASCII? */
- proto_tree_add_text(subtree, ussd_tvb , 0, ussd_payload_length, "%s",
- tvb_get_string_enc(wmem_packet_scope(), ussd_tvb, 0, ussd_payload_length, ENC_ASCII|ENC_NA));
+ proto_tree_add_item(subtree, hf_mbim_ussd_info_ussd_payload_text,
+ ussd_tvb , 0, ussd_payload_length, ENC_ASCII|ENC_NA);
break;
case SMS_ENCODING_UCS2:
case SMS_ENCODING_UCS2_LANG:
- proto_tree_add_text(subtree, ussd_tvb , 0, ussd_payload_length, "%s",
- tvb_get_string_enc(wmem_packet_scope(), ussd_tvb, 0, ussd_payload_length, ENC_UCS_2|ENC_BIG_ENDIAN));
+ proto_tree_add_item(subtree, hf_mbim_ussd_info_ussd_payload_text,
+ ussd_tvb , 0, ussd_payload_length, ENC_UCS_2|ENC_BIG_ENDIAN);
break;
default:
break;
@@ -6325,22 +6327,22 @@ proto_register_mbim(void)
FT_UINT32, BASE_HEX, NULL, 0,
NULL, HFILL }
},
- { &hf_mbim_set_ussd_ussd_ussd_payload_offset,
+ { &hf_mbim_set_ussd_ussd_payload_offset,
{ "USSD Payload Offset", "mbim.control.set_ussd.ussd_payload.offset",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }
},
- { &hf_mbim_set_ussd_ussd_ussd_payload_length,
+ { &hf_mbim_set_ussd_ussd_payload_length,
{ "USSD Payload Length", "mbim.control.set_ussd.ussd_payload.length",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }
},
- { &hf_mbim_set_ussd_ussd_ussd_payload,
+ { &hf_mbim_set_ussd_ussd_payload,
{ "USSD Payload", "mbim.control.set_ussd.ussd_payload",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }
},
- { &hf_mbim_set_ussd_ussd_ussd_payload_text,
+ { &hf_mbim_set_ussd_ussd_payload_text,
{ "USSD Payload Text", "mbim.control.set_ussd.ussd_payload.text",
FT_STRING, STR_UNICODE, NULL, 0,
NULL, HFILL }
@@ -6375,6 +6377,11 @@ proto_register_mbim(void)
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }
},
+ { &hf_mbim_ussd_info_ussd_payload_text,
+ { "USSD Payload Text", "mbim.control.ussd_info.ussd_payload.text",
+ FT_STRING, STR_UNICODE, NULL, 0,
+ NULL, HFILL }
+ },
{ &hf_mbim_phonebook_configuration_info_phonebook_state,
{ "Phonebook State", "mbim.control.phonebook_configuration_info.phonebook_state",
FT_UINT32, BASE_DEC, VALS(mbim_phonebook_state_vals), 0,