diff options
author | guy <guy@f5534014-38df-0310-8fa8-9805f1628bb7> | 2001-12-03 04:00:26 +0000 |
---|---|---|
committer | guy <guy@f5534014-38df-0310-8fa8-9805f1628bb7> | 2001-12-03 04:00:26 +0000 |
commit | b6afcc102f8ba453034eda35648ff746ed329f4a (patch) | |
tree | 6303e298a7b136a1e1da306950398c99e3e71432 /packet-diameter.c | |
parent | cc6c7a4721cbfeee3556dacd8f019d9cc78ef293 (diff) |
Make "dissector_add()", "dissector_delete()", and "dissector_change()"
take a dissector handle as an argument, rather than a pointer to a
dissector function and a protocol ID. Associate dissector handles with
dissector table entries.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@4308 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'packet-diameter.c')
-rw-r--r-- | packet-diameter.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/packet-diameter.c b/packet-diameter.c index 7108ca1838..a4028be99a 100644 --- a/packet-diameter.c +++ b/packet-diameter.c @@ -1,7 +1,7 @@ /* packet-diameter.c * Routines for Diameter packet disassembly * - * $Id: packet-diameter.c,v 1.35 2001/11/27 07:41:39 guy Exp $ + * $Id: packet-diameter.c,v 1.36 2001/12/03 03:59:34 guy Exp $ * * Copyright (c) 2001 by David Frascone <dave@frascone.com> * @@ -1606,12 +1606,18 @@ proto_reg_handoff_diameter(void) static int Initialized=FALSE; static int TcpPort=0; static int SctpPort=0; - - if (Initialized) { - dissector_delete("tcp.port", TcpPort, dissect_diameter_tcp); - dissector_delete("sctp.port", SctpPort, dissect_diameter_sctp); - } else { + static dissector_handle_t diameter_tcp_handle; + static dissector_handle_t diameter_sctp_handle; + + if (!Initialized) { + diameter_tcp_handle = create_dissector_handle(dissect_diameter_tcp, + proto_diameter); + diameter_sctp_handle = create_dissector_handle(dissect_diameter_sctp, + proto_diameter); Initialized=TRUE; + } else { + dissector_delete("tcp.port", TcpPort, diameter_tcp_handle); + dissector_delete("sctp.port", SctpPort, diameter_sctp_handle); } /* set port for future deletes */ @@ -1622,10 +1628,8 @@ proto_reg_handoff_diameter(void) /* g_warning ("Diameter: Adding tcp dissector to port %d", gbl_diameterTcpPort); */ - dissector_add("tcp.port", gbl_diameterTcpPort, dissect_diameter_tcp, - proto_diameter); - dissector_add("sctp.port", gbl_diameterSctpPort, - dissect_diameter_sctp, proto_diameter); + dissector_add("tcp.port", gbl_diameterTcpPort, diameter_tcp_handle); + dissector_add("sctp.port", gbl_diameterSctpPort, diameter_sctp_handle); } /* registration with the filtering engine */ |