diff options
author | Michael Mann <mmann78@netscape.net> | 2014-11-22 11:54:54 -0500 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2014-11-26 09:20:44 +0000 |
commit | ab8cad28160cef32889abdc498f9c657bb31024f (patch) | |
tree | 66ba08b9079aada6f3d95419cf1681759c4d6493 /epan/dissectors/packet-gsm_bssmap_le.c | |
parent | 7c475037e4b58d75a513f206896db1885cdb9ada (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.c | 16 |
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 |