diff options
author | Anders Broman <anders.broman@ericsson.com> | 2005-08-02 21:16:56 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2005-08-02 21:16:56 +0000 |
commit | 49284d02cb91a397ba0c2637b47e41f5436ea4d4 (patch) | |
tree | 37d7c0832e62530c190515591e9f1956133ee5a8 /epan | |
parent | 50525fca41cc7bfb689ea6b6f4ac4f4dfa5bca81 (diff) |
Fix "tvb_fake_unicode takes the lengt in number of guint16's not guint8's" fix up indentation.
svn path=/trunk/; revision=15199
Diffstat (limited to 'epan')
-rw-r--r-- | epan/dissectors/packet-gsm_sms.c | 114 |
1 files changed, 58 insertions, 56 deletions
diff --git a/epan/dissectors/packet-gsm_sms.c b/epan/dissectors/packet-gsm_sms.c index d1cfde99a1..fff7a72a3f 100644 --- a/epan/dissectors/packet-gsm_sms.c +++ b/epan/dissectors/packet-gsm_sms.c @@ -1783,78 +1783,80 @@ dis_field_ud(tvbuff_t *tvb, proto_tree *tree, guint32 offset, guint32 length, gb if (udhi) { - /* step over header */ - udh_item = - proto_tree_add_text(subtree, tvb, - offset, oct + 1, - "User-Data Header"); - - udh_subtree = proto_item_add_subtree(udh_item, ett_udh); - - proto_tree_add_text(udh_subtree, - tvb, offset, 1, - "User Data Header Length (%d)", - oct); - - offset++; - udl--; - length--; - - dis_field_ud_iei(tvb, udh_subtree, offset, oct); - - offset += oct; - udl -= oct; - length -= oct; + /* step over header */ - if (seven_bit) - { - /* step over fill bits ? */ + udh_item = + proto_tree_add_text(subtree, tvb, + offset, oct + 1, + "User-Data Header"); - fill_bits = 7 - (((oct + 1) * 8) % 7); - if (fill_bits != 7) - { - oct = tvb_get_guint8(tvb, offset); + udh_subtree = proto_item_add_subtree(udh_item, ett_udh); - other_decode_bitfield_value(bigbuf, oct, fill_bits_mask[fill_bits], 8); proto_tree_add_text(udh_subtree, tvb, offset, 1, - "%s : Fill bits", - bigbuf); - } - } + "User Data Header Length (%d)", + oct); + + offset++; + udl--; + length--; + + dis_field_ud_iei(tvb, udh_subtree, offset, oct); + + offset += oct; + udl -= oct; + length -= oct; + + if (seven_bit) + { + /* step over fill bits ? */ + + fill_bits = 7 - (((oct + 1) * 8) % 7); + if (fill_bits != 7) + { + oct = tvb_get_guint8(tvb, offset); + + other_decode_bitfield_value(bigbuf, oct, fill_bits_mask[fill_bits], 8); + proto_tree_add_text(udh_subtree, + tvb, offset, 1, + "%s : Fill bits", + bigbuf); + } + } } if (compressed) { - proto_tree_add_text(subtree, tvb, - offset, length, - "Compressed data"); + proto_tree_add_text(subtree, tvb, + offset, length, + "Compressed data"); } else { - if (seven_bit) - { - out_len = - gsm_sms_char_7bit_unpack(fill_bits, length, sizeof(bigbuf), + if (seven_bit) + { + out_len = + gsm_sms_char_7bit_unpack(fill_bits, length, sizeof(bigbuf), tvb_get_ptr(tvb, offset, length), bigbuf); - bigbuf[out_len] = '\0'; - gsm_sms_char_ascii_decode(bigbuf, bigbuf, out_len); - bigbuf[udl] = '\0'; + bigbuf[out_len] = '\0'; + gsm_sms_char_ascii_decode(bigbuf, bigbuf, out_len); + bigbuf[udl] = '\0'; - proto_tree_add_text(subtree, tvb, offset, length, "%s", bigbuf); - } - else if (eight_bit) - { - proto_tree_add_text(subtree, tvb, offset, length, "%s", + proto_tree_add_text(subtree, tvb, offset, length, "%s", bigbuf); + } + else if (eight_bit) + { + proto_tree_add_text(subtree, tvb, offset, length, "%s", tvb_format_text(tvb, offset, length)); - } - else if (ucs2) - { - ustr = tvb_fake_unicode(tvb, offset, length, FALSE); - proto_tree_add_text(subtree, tvb, offset, length, "%s", ustr); - g_free(ustr); - } + } + else if (ucs2) + { + /* tvb_fake_unicode takes the lengt in number of guint16's */ + ustr = tvb_fake_unicode(tvb, offset, (length>>1), FALSE); + proto_tree_add_text(subtree, tvb, offset, length, "%s", ustr); + g_free(ustr); + } } } |