diff options
author | Anders Broman <anders.broman@ericsson.com> | 2012-12-20 12:53:38 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2012-12-20 12:53:38 +0000 |
commit | 8a508ee3d913c22178bd016a65ad54f2e289f42b (patch) | |
tree | b76650cc38f317ccc87f1d724a1156885e078eea /epan/dissectors/packet-rsl.c | |
parent | 4e642fde4c8eeffa7ac05c4bc04a66a6df4d3e54 (diff) | |
download | wireshark-8a508ee3d913c22178bd016a65ad54f2e289f42b.tar.gz |
Try to determine wether it is MEAS REP, EXT MEAS REP or ENH MEAS REP.
svn path=/trunk/; revision=46630
Diffstat (limited to 'epan/dissectors/packet-rsl.c')
-rw-r--r-- | epan/dissectors/packet-rsl.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/epan/dissectors/packet-rsl.c b/epan/dissectors/packet-rsl.c index b3da9e3d96..29bf70ce28 100644 --- a/epan/dissectors/packet-rsl.c +++ b/epan/dissectors/packet-rsl.c @@ -3595,8 +3595,15 @@ dissct_rsl_msg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset) if (tvb_length_remaining(tvb,offset) > 0) offset = dissect_rsl_ie_l1_inf(tvb, pinfo, tree, offset, FALSE); /* L3 Info (MEAS REP, EXT MEAS REP or ENH MEAS REP) 9.3.11 O 1) TLV 21 */ - if (tvb_length_remaining(tvb,offset) > 0) - offset = dissect_rsl_ie_L3_inf(tvb, pinfo, tree, offset, FALSE, L3_INF_SACCH); + if (tvb_length_remaining(tvb,offset) > 0){ + /* Try to figure out of we have (MEAS REP, EXT MEAS REP or ENH MEAS REP) */ + if ( ( tvb_get_guint8(tvb, offset+3) & 0xFE ) == 0x10 ) { + /* ENH MEAS REP */ + offset = dissect_rsl_ie_L3_inf(tvb, pinfo, tree, offset, FALSE, L3_INF_SACCH); + }else{ + offset = dissect_rsl_ie_L3_inf(tvb, pinfo, tree, offset, FALSE, L3_INF_OTHER); + } + } /* MS Timing Offset 9.3.37 O 2) TV 2 */ if (tvb_length_remaining(tvb,offset) > 0) offset = dissect_rsl_ie_ms_timing_offset(tvb, pinfo, tree, offset, FALSE); |