aboutsummaryrefslogtreecommitdiffstats
path: root/packet-diameter.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2001-12-03 04:00:26 +0000
committerGuy Harris <guy@alum.mit.edu>2001-12-03 04:00:26 +0000
commitbced8711f67b5dba76e9d6cdfd1a0246b235df27 (patch)
tree6303e298a7b136a1e1da306950398c99e3e71432 /packet-diameter.c
parent8d0ea8bc932de5cf57183a593be160515af064d9 (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. svn path=/trunk/; revision=4308
Diffstat (limited to 'packet-diameter.c')
-rw-r--r--packet-diameter.c24
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 */