diff options
author | Jakub Zawadzki <darkjames-ws@darkjames.pl> | 2013-11-16 01:10:05 +0000 |
---|---|---|
committer | Jakub Zawadzki <darkjames-ws@darkjames.pl> | 2013-11-16 01:10:05 +0000 |
commit | ea73d4a55cf10850c61ed35d58fd9c9a191023f3 (patch) | |
tree | 87fd46511932572dfcec12f2e1630ea289e9a512 /epan/dissectors/packet-q931.c | |
parent | 09dc9a3d0a029fc669e09b3d2ff468b07b9b0c7b (diff) |
Avoid calling find_dissector(), cache result of [new_]register_dissector()
svn path=/trunk/; revision=53353
Diffstat (limited to 'epan/dissectors/packet-q931.c')
-rw-r--r-- | epan/dissectors/packet-q931.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/epan/dissectors/packet-q931.c b/epan/dissectors/packet-q931.c index b1fa92a732..77ca32ab80 100644 --- a/epan/dissectors/packet-q931.c +++ b/epan/dissectors/packet-q931.c @@ -60,6 +60,9 @@ static gboolean have_valid_q931_pi=FALSE; static q931_packet_info *q931_pi=NULL; static int q931_tap = -1; +static dissector_handle_t q931_handle; +static dissector_handle_t q931_over_ip_handle; + static int proto_q931 = -1; static int hf_q931_discriminator = -1; static int hf_q931_coding_standard = -1; @@ -3563,12 +3566,11 @@ proto_register_q931(void) proto_register_subtree_array(ett, array_length(ett)); register_init_routine(q931_init); - register_dissector("q931", dissect_q931, proto_q931); - register_dissector("q931.tpkt", dissect_q931_tpkt, proto_q931); - q931_tpkt_handle = find_dissector("q931.tpkt"); + q931_handle = register_dissector("q931", dissect_q931, proto_q931); + q931_tpkt_handle = register_dissector("q931.tpkt", dissect_q931_tpkt, proto_q931); q931_tpkt_pdu_handle = create_dissector_handle(dissect_q931_tpkt_pdu, proto_q931); - register_dissector("q931.over_ip", dissect_q931_over_ip, proto_q931); + q931_over_ip_handle = register_dissector("q931.over_ip", dissect_q931_over_ip, proto_q931); register_dissector("q931.ie", dissect_q931_ie_cs0, proto_q931); register_dissector("q931.ie.cs7", dissect_q931_ie_cs7, proto_q931); @@ -3594,13 +3596,7 @@ proto_register_q931(void) void proto_reg_handoff_q931(void) { - dissector_handle_t q931_handle; - dissector_handle_t q931_over_ip_handle; - - q931_handle = find_dissector("q931"); dissector_add_uint("lapd.sapi", LAPD_SAPI_Q931, q931_handle); - - q931_over_ip_handle = find_dissector("q931.over_ip"); dissector_add_uint("sctp.ppi", H323_PAYLOAD_PROTOCOL_ID, q931_over_ip_handle); /* |