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-p1.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-p1.c')
-rw-r--r-- | epan/dissectors/packet-p1.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/epan/dissectors/packet-p1.c b/epan/dissectors/packet-p1.c index dd8e972f8a..5fa2f90bf9 100644 --- a/epan/dissectors/packet-p1.c +++ b/epan/dissectors/packet-p1.c @@ -843,6 +843,8 @@ static dissector_table_t p1_extension_dissector_table; static dissector_table_t p1_extension_attribute_dissector_table; static dissector_table_t p1_tokendata_dissector_table; +static dissector_handle_t p1_handle; + /*--- Included file: packet-p1-table.c ---*/ #line 1 "./asn1/p1/packet-p1-table.c" @@ -887,7 +889,7 @@ static const value_string p3_err_code_string_vals[] = { /*--- End of included file: packet-p1-table.c ---*/ -#line 88 "./asn1/p1/packet-p1-template.c" +#line 90 "./asn1/p1/packet-p1-template.c" #define P1_ADDRESS_CTX "p1-address-ctx" typedef struct p1_address_ctx { @@ -8386,7 +8388,7 @@ static int dissect_SecurityClassification_PDU(tvbuff_t *tvb _U_, packet_info *pi /*--- End of included file: packet-p1-fn.c ---*/ -#line 165 "./asn1/p1/packet-p1-template.c" +#line 167 "./asn1/p1/packet-p1-template.c" /*--- Included file: packet-p1-table11.c ---*/ @@ -8418,7 +8420,7 @@ static const ros_opr_t p3_opr_tab[] = { /*--- End of included file: packet-p1-table11.c ---*/ -#line 167 "./asn1/p1/packet-p1-template.c" +#line 169 "./asn1/p1/packet-p1-template.c" /*--- Included file: packet-p1-table21.c ---*/ #line 1 "./asn1/p1/packet-p1-table21.c" @@ -8463,7 +8465,7 @@ static const ros_err_t p3_err_tab[] = { /*--- End of included file: packet-p1-table21.c ---*/ -#line 168 "./asn1/p1/packet-p1-template.c" +#line 170 "./asn1/p1/packet-p1-template.c" static const ros_info_t p3_ros_info = { "P3", @@ -10881,7 +10883,7 @@ void proto_register_p1(void) { NULL, HFILL }}, /*--- End of included file: packet-p1-hfarr.c ---*/ -#line 337 "./asn1/p1/packet-p1-template.c" +#line 339 "./asn1/p1/packet-p1-template.c" }; /* List of subtrees */ @@ -11078,7 +11080,7 @@ void proto_register_p1(void) { &ett_p1_SEQUENCE_SIZE_1_ub_recipients_OF_PerRecipientProbeSubmissionFields, /*--- End of included file: packet-p1-ettarr.c ---*/ -#line 350 "./asn1/p1/packet-p1-template.c" +#line 352 "./asn1/p1/packet-p1-template.c" }; static ei_register_info ei[] = { @@ -11095,7 +11097,7 @@ void proto_register_p1(void) { /* Register protocol */ proto_p1 = proto_register_protocol(PNAME, PSNAME, PFNAME); - register_dissector("p1", dissect_p1, proto_p1); + p1_handle = register_dissector("p1", dissect_p1, proto_p1); proto_p3 = proto_register_protocol("X.411 Message Access Service", "P3", "p3"); @@ -11127,14 +11129,12 @@ void proto_register_p1(void) { register_ber_syntax_dissector("ORName", proto_p1, dissect_ORName_PDU); /*--- End of included file: packet-p1-syn-reg.c ---*/ -#line 391 "./asn1/p1/packet-p1-template.c" +#line 393 "./asn1/p1/packet-p1-template.c" } /*--- proto_reg_handoff_p1 --- */ void proto_reg_handoff_p1(void) { - dissector_handle_t p1_handle; - /*--- Included file: packet-p1-dis-tab.c ---*/ #line 1 "./asn1/p1/packet-p1-dis-tab.c" @@ -11300,8 +11300,6 @@ void proto_reg_handoff_p1(void) { oid_add_from_string("id-ac-mts-transfer","2.6.0.1.6"); /* ABSTRACT SYNTAXES */ - - p1_handle = find_dissector("p1"); register_rtse_oid_dissector_handle("2.6.0.2.12", p1_handle, 0, "id-as-mta-rtse", TRUE); register_rtse_oid_dissector_handle("2.6.0.2.7", p1_handle, 0, "id-as-mtse", FALSE); |