aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ansi_637.c
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2013-12-12 22:35:45 +0000
committerPascal Quantin <pascal.quantin@gmail.com>2013-12-12 22:35:45 +0000
commit5db2d622e4fa800d406efe94d0b961bebd60420c (patch)
tree35427a200b1f2fab44dad1848de296381fd45cf5 /epan/dissectors/packet-ansi_637.c
parent8d67e7b20cda96be65562e2b1040ea8712ffa698 (diff)
From Michael Lum via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9554 :
GSM SMS: remove some globals and expose some UDH fields through dis_field_udh() svn path=/trunk/; revision=53997
Diffstat (limited to 'epan/dissectors/packet-ansi_637.c')
-rw-r--r--epan/dissectors/packet-ansi_637.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/epan/dissectors/packet-ansi_637.c b/epan/dissectors/packet-ansi_637.c
index b2d28c25b4..2da3ca8c1c 100644
--- a/epan/dissectors/packet-ansi_637.c
+++ b/epan/dissectors/packet-ansi_637.c
@@ -456,6 +456,7 @@ tele_param_user_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint
const gchar *str = NULL;
gchar *buf;
tvbuff_t *tvb_out = NULL;
+ gsm_sms_udh_fields_t udh_fields;
gchar *utf8_text = NULL;
GIConv cd;
@@ -463,6 +464,8 @@ tele_param_user_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint
SHORT_DATA_CHECK(len, 2);
+ memset(&udh_fields, 0, sizeof(udh_fields));
+
/*
* message encoding
*/
@@ -587,7 +590,7 @@ tele_param_user_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint
offset = 0;
bit = 0;
if (*has_private_data == TRUE) {
- dis_field_udh(tvb_out, tree, &offset, &required_octs, &num_fields, ASCII_7BITS, &bit);
+ dis_field_udh(tvb_out, tree, &offset, &required_octs, &num_fields, ASCII_7BITS, &bit, &udh_fields);
}
saved_offset = offset;
@@ -649,7 +652,7 @@ tele_param_user_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint
offset = 0;
bit = 0;
if (*has_private_data == TRUE) {
- dis_field_udh(tvb_out, tree, &offset, &required_octs, &num_fields, ASCII_7BITS, &bit);
+ dis_field_udh(tvb_out, tree, &offset, &required_octs, &num_fields, ASCII_7BITS, &bit, &udh_fields);
}
saved_offset = offset;
bit = bit ? bit : 8;
@@ -678,7 +681,7 @@ tele_param_user_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint
add_new_data_source(pinfo, tvb_out, "Characters");
offset = 0;
if (*has_private_data == TRUE) {
- dis_field_udh(tvb_out, tree, &offset, &required_octs, &num_fields, OTHER, &bit);
+ dis_field_udh(tvb_out, tree, &offset, &required_octs, &num_fields, OTHER, &bit, &udh_fields);
}
if ((cd = g_iconv_open("UTF-8","UCS-2BE")) != (GIConv)-1)
@@ -714,7 +717,7 @@ tele_param_user_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint
offset = 0;
required_octs = len - used;
if (*has_private_data == TRUE) {
- dis_field_udh(tvb_out, tree, &offset, &required_octs, &num_fields, OTHER, &bit);
+ dis_field_udh(tvb_out, tree, &offset, &required_octs, &num_fields, OTHER, &bit, &udh_fields);
}
if ((cd = g_iconv_open("UTF-8","iso-8859-8")) != (GIConv)-1)
@@ -750,7 +753,7 @@ tele_param_user_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint
offset = 0;
required_octs = len - used;
if (*has_private_data == TRUE) {
- dis_field_udh(tvb_out, tree, &offset, &required_octs, &num_fields, OTHER, &bit);
+ dis_field_udh(tvb_out, tree, &offset, &required_octs, &num_fields, OTHER, &bit, &udh_fields);
}
if ((cd = g_iconv_open("UTF-8","iso-8859-1")) != (GIConv)-1)
@@ -800,7 +803,7 @@ tele_param_user_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint
offset = 0;
bit = 0;
if (*has_private_data == TRUE) {
- dis_field_udh(tvb_out, tree, &offset, &required_octs, &num_fields, GSM_7BITS, &bit);
+ dis_field_udh(tvb_out, tree, &offset, &required_octs, &num_fields, GSM_7BITS, &bit, &udh_fields);
}
out_len = gsm_sms_char_7bit_unpack(bit, required_octs, num_fields,
@@ -826,7 +829,7 @@ tele_param_user_data(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint
offset = 0;
required_octs = len - used;
if (*has_private_data == TRUE) {
- dis_field_udh(tvb_out, tree, &offset, &required_octs, &num_fields, OTHER, &bit);
+ dis_field_udh(tvb_out, tree, &offset, &required_octs, &num_fields, OTHER, &bit, &udh_fields);
}
if ((cd = g_iconv_open("UTF-8","EUC-KR")) != (GIConv)-1)