diff options
author | Michael Mann <mmann78@netscape.net> | 2016-06-30 20:41:45 -0400 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2016-07-01 14:26:20 +0000 |
commit | a062c802364fd83d43f934560149f2ddd1fee6a3 (patch) | |
tree | e5c9240b24a5b86c12b4a9481a2bd93e18b828f5 /epan/dissectors/packet-h283.c | |
parent | d4add25cb77773d9564dfc8f340ab5ce491a7d20 (diff) |
ASN.1 dissectors - don't try to find yourself.
If an ASN.1 dissector is calling register_dissector for itself in its proto_register_xxx
function and then calling find_dissector for itself in its proto_reg_handoff_xxx
function then just create a static handle for that dissector and use the return
value of register_dissector, so the find isn't necessary.
Change-Id: I911bdadc2fb4259601c141b955e741a2369cc447
Reviewed-on: https://code.wireshark.org/review/16233
Reviewed-by: Michael Mann <mmann78@netscape.net>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-h283.c')
-rw-r--r-- | epan/dissectors/packet-h283.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/epan/dissectors/packet-h283.c b/epan/dissectors/packet-h283.c index 2dc15e82fc..c85358be32 100644 --- a/epan/dissectors/packet-h283.c +++ b/epan/dissectors/packet-h283.c @@ -112,6 +112,8 @@ static gint ett_h283_NonStandardMessage = -1; static dissector_handle_t rdc_pdu_handle; static dissector_handle_t rdc_device_list_handle; static dissector_handle_t data_handle; +static dissector_handle_t h283_udp_handle; + static gboolean info_is_set; @@ -564,7 +566,7 @@ static int dissect_LCTPDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_t /*--- End of included file: packet-h283-fn.c ---*/ -#line 55 "./asn1/h283/packet-h283-template.c" +#line 57 "./asn1/h283/packet-h283-template.c" static int dissect_h283_udp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) @@ -720,7 +722,7 @@ void proto_register_h283(void) { NULL, HFILL }}, /*--- End of included file: packet-h283-hfarr.c ---*/ -#line 78 "./asn1/h283/packet-h283-template.c" +#line 80 "./asn1/h283/packet-h283-template.c" }; /* List of subtrees */ @@ -745,7 +747,7 @@ void proto_register_h283(void) { &ett_h283_NonStandardMessage, /*--- End of included file: packet-h283-ettarr.c ---*/ -#line 84 "./asn1/h283/packet-h283-template.c" +#line 86 "./asn1/h283/packet-h283-template.c" }; /* Register protocol */ @@ -755,16 +757,13 @@ void proto_register_h283(void) { proto_register_field_array(proto_h283, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); - register_dissector(PFNAME, dissect_h283_udp, proto_h283); + h283_udp_handle = register_dissector(PFNAME, dissect_h283_udp, proto_h283); } /*--- proto_reg_handoff_h283 -------------------------------------------*/ void proto_reg_handoff_h283(void) { - dissector_handle_t h283_udp_handle; - - h283_udp_handle = find_dissector(PFNAME); dissector_add_for_decode_as("udp.port", h283_udp_handle); rdc_pdu_handle = find_dissector_add_dependency("rdc", proto_h283); |