From Tobias Witek:
authormartinm <martinm@f5534014-38df-0310-8fa8-9805f1628bb7>
Wed, 15 Dec 2010 10:59:10 +0000 (10:59 +0000)
committermartinm <martinm@f5534014-38df-0310-8fa8-9805f1628bb7>
Wed, 15 Dec 2010 10:59:10 +0000 (10:59 +0000)
Bug 5494 -  FP-Hint: Display correct DCH-ID value

In FP-Hint, DCH-IDs are stored as a 5-bit value. While a 5-bit value can
hold values from 0..31, DCH-IDs in the NBAP, RNSAP and RRC protocols
have values from 1..32.

This patch adds 1 to the DCH-ID in FP-Hint in order to display the
correct DCH-ID value in the protcol tree.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@35190 f5534014-38df-0310-8fa8-9805f1628bb7

epan/dissectors/packet-fp_hint.c

index ce0b8f3df5f253476c3ef44a5730be8e65dc4941..1a8e16af8ef89e7a79092ae9948a0d87a56a5bf2 100644 (file)
@@ -306,7 +306,7 @@ static void assign_fph_dch(tvbuff_t *tvb, packet_info *pinfo, guint16 offset, fp
                pi = proto_tree_add_item(tree, hf_fph_tf, tvb, offset, 4, TRUE);
                subtree = proto_item_add_subtree(pi, ett_fph_rb);
                hdr = tvb_get_ptr(tvb, offset, 4);
-               dch_id = hdr[0] & 0x1f;
+               dch_id = (hdr[0] & 0x1f) + 1;
 
                N = ((hdr[1] & 0x3f)<<3) | (hdr[0] >> 5);
                size = ((hdr[3] & 0x07)<<10) | (hdr[2] << 2) | ((hdr[1] & 0xc0)>>6);
@@ -316,7 +316,7 @@ static void assign_fph_dch(tvbuff_t *tvb, packet_info *pinfo, guint16 offset, fp
                fpi->chan_num_tbs[i] = N;
 
                if (subtree) {
-                       proto_tree_add_bits_item(subtree, hf_fph_dchid, tvb, offset*8+3, 5, TRUE);
+                       proto_tree_add_uint(subtree, hf_fph_dchid, tvb, offset, 1, dch_id);
                        proto_tree_add_uint(subtree, hf_fph_tf_n, tvb, offset, 2, N);
                        if (size)
                                proto_tree_add_uint(subtree, hf_fph_tf_size, tvb, offset + 1, 3, size);