diff options
author | Jakub Zawadzki <darkjames-ws@darkjames.pl> | 2013-08-05 19:09:44 +0000 |
---|---|---|
committer | Jakub Zawadzki <darkjames-ws@darkjames.pl> | 2013-08-05 19:09:44 +0000 |
commit | f4bcbeb9f26874ab763e78056638541a5b371cde (patch) | |
tree | 0cfd0c6f58226d6d85bdc0613cdcbfc97432e228 /epan/dissectors/packet-tpncp.c | |
parent | d3af98bb91b83d58b03a6264423b658af111d44b (diff) |
Keep result of [new_]register_dissector in some dissectors. [2 of x]
(don't create new dissector handle if we can use already existing one)
svn path=/trunk/; revision=51159
Diffstat (limited to 'epan/dissectors/packet-tpncp.c')
-rw-r--r-- | epan/dissectors/packet-tpncp.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/epan/dissectors/packet-tpncp.c b/epan/dissectors/packet-tpncp.c index b6d0b1e55c..92d2e17be5 100644 --- a/epan/dissectors/packet-tpncp.c +++ b/epan/dissectors/packet-tpncp.c @@ -111,6 +111,8 @@ static guint global_tpncp_trunkpack_udp_port = UDP_PORT_TPNCP_TRUNKPACK; static guint global_tpncp_host_tcp_port = TCP_PORT_TPNCP_HOST; static guint global_tpncp_host_udp_port = UDP_PORT_TPNCP_HOST; +static dissector_handle_t tpncp_handle; + static guint trunkpack_tcp_port = 0; static guint trunkpack_udp_port = 0; static guint host_tcp_port = 0; @@ -720,7 +722,7 @@ static gint init_tpncp_db(void) { void proto_reg_handoff_tpncp(void) { static gint tpncp_prefs_initialized = FALSE; - static dissector_handle_t tpncp_udp_handle, tpncp_tcp_handle; + static dissector_handle_t tpncp_tcp_handle; /* If we weren't able to load the database (and thus the hf_ entries) * do not attach to any ports (if we did then we'd get a "dissector bug" @@ -731,16 +733,15 @@ void proto_reg_handoff_tpncp(void) { return; if (!tpncp_prefs_initialized) { - tpncp_udp_handle = create_dissector_handle(dissect_tpncp, proto_tpncp); tpncp_tcp_handle = create_dissector_handle(dissect_tpncp_tcp, proto_tpncp); tpncp_prefs_initialized = TRUE; } else { dissector_delete_uint("tcp.port", trunkpack_tcp_port, tpncp_tcp_handle); - dissector_delete_uint("udp.port", trunkpack_udp_port, tpncp_udp_handle); + dissector_delete_uint("udp.port", trunkpack_udp_port, tpncp_handle); dissector_delete_uint("tcp.port", host_tcp_port, tpncp_tcp_handle); - dissector_delete_uint("udp.port", host_udp_port, tpncp_udp_handle); + dissector_delete_uint("udp.port", host_udp_port, tpncp_handle); } trunkpack_tcp_port = global_tpncp_trunkpack_tcp_port; @@ -750,7 +751,7 @@ void proto_reg_handoff_tpncp(void) { host_udp_port = global_tpncp_host_udp_port; dissector_add_uint("tcp.port", global_tpncp_trunkpack_tcp_port, tpncp_tcp_handle); - dissector_add_uint("udp.port", global_tpncp_trunkpack_udp_port, tpncp_udp_handle); + dissector_add_uint("udp.port", global_tpncp_trunkpack_udp_port, tpncp_handle); } /*-------------------------------------------------------------------------------------------------------------------------------------------*/ @@ -792,7 +793,7 @@ void proto_register_tpncp(void) { proto_register_subtree_array(ett, array_length(ett)); - register_dissector("tpncp", dissect_tpncp, proto_tpncp); + tpncp_handle = register_dissector("tpncp", dissect_tpncp, proto_tpncp); tpncp_module = prefs_register_protocol(proto_tpncp, proto_reg_handoff_tpncp); |