diff options
author | Pascal Quantin <pascal.quantin@gmail.com> | 2013-12-12 22:35:45 +0000 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2013-12-12 22:35:45 +0000 |
commit | 5db2d622e4fa800d406efe94d0b961bebd60420c (patch) | |
tree | 35427a200b1f2fab44dad1848de296381fd45cf5 /epan/dissectors/packet-ansi_637.c | |
parent | 8d67e7b20cda96be65562e2b1040ea8712ffa698 (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.c | 17 |
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) |