aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-gsm_bssmap_le.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2014-11-22 11:54:54 -0500
committerAnders Broman <a.broman58@gmail.com>2014-11-26 09:20:44 +0000
commitab8cad28160cef32889abdc498f9c657bb31024f (patch)
tree66ba08b9079aada6f3d95419cf1681759c4d6493 /epan/dissectors/packet-gsm_bssmap_le.c
parent7c475037e4b58d75a513f206896db1885cdb9ada (diff)
Remove sccp_info member from packet_info structure.
sccp_msg_info_t* is now passed from SCCP dissector to its subdissectors through dissector data parameter. Change-Id: Iab4aae58f8995e844f72e02e9f2de36e83589fc0 Reviewed-on: https://code.wireshark.org/review/5442 Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-gsm_bssmap_le.c')
-rw-r--r--epan/dissectors/packet-gsm_bssmap_le.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/epan/dissectors/packet-gsm_bssmap_le.c b/epan/dissectors/packet-gsm_bssmap_le.c
index 81b5cdd612..23db7d1918 100644
--- a/epan/dissectors/packet-gsm_bssmap_le.c
+++ b/epan/dissectors/packet-gsm_bssmap_le.c
@@ -905,8 +905,8 @@ static void (*bssmap_le_msg_fcn[])(tvbuff_t *tvb, proto_tree *tree, packet_info
NULL, /* NONE */
};
-void
-dissect_bssmap_le(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+int
+dissect_bssmap_le(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
{
static gsm_a_tap_rec_t tap_rec[4];
static gsm_a_tap_rec_t *tap_p;
@@ -918,9 +918,7 @@ dissect_bssmap_le(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
proto_item *bssmap_le_item = NULL;
proto_tree *bssmap_le_tree = NULL;
const gchar *str;
- sccp_msg_info_t *sccp_msg_p;
-
- sccp_msg_p = pinfo->sccp_info;
+ sccp_msg_info_t *sccp_msg_p = (sccp_msg_info_t *)data;
if (!(sccp_msg_p && sccp_msg_p->data.co.assoc)) {
sccp_msg_p = NULL;
@@ -994,9 +992,9 @@ dissect_bssmap_le(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
tap_queue_packet(gsm_a_tap, pinfo, tap_p);
- if (str == NULL) return;
+ if (str == NULL) return len;
- if (offset >= len) return;
+ if (offset >= len) return len;
/*
* decode elements
@@ -1009,6 +1007,8 @@ dissect_bssmap_le(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
(*bssmap_le_msg_fcn[idx])(tvb, bssmap_le_tree, pinfo, offset, len - offset);
}
+
+ return len;
}
/* Register the protocol with Wireshark */
@@ -1214,7 +1214,7 @@ proto_register_gsm_bssmap_le(void)
expert_gsm_a_bssmap_le = expert_register_protocol(proto_bssmap_le);
expert_register_field_array(expert_gsm_a_bssmap_le, ei, array_length(ei));
- register_dissector("gsm_bssmap_le", dissect_bssmap_le, proto_bssmap_le);
+ new_register_dissector("gsm_bssmap_le", dissect_bssmap_le, proto_bssmap_le);
}
void