summaryrefslogtreecommitdiff
path: root/epan/dissectors/packet-rsl.c
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2012-12-20 12:53:38 +0000
committerAnders Broman <anders.broman@ericsson.com>2012-12-20 12:53:38 +0000
commit8a508ee3d913c22178bd016a65ad54f2e289f42b (patch)
treeb76650cc38f317ccc87f1d724a1156885e078eea /epan/dissectors/packet-rsl.c
parent4e642fde4c8eeffa7ac05c4bc04a66a6df4d3e54 (diff)
downloadwireshark-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.c11
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);