diff options
author | Guy Harris <guy@alum.mit.edu> | 2001-12-03 04:00:26 +0000 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2001-12-03 04:00:26 +0000 |
commit | bced8711f67b5dba76e9d6cdfd1a0246b235df27 (patch) | |
tree | 6303e298a7b136a1e1da306950398c99e3e71432 /packet-quake3.c | |
parent | 8d0ea8bc932de5cf57183a593be160515af064d9 (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-quake3.c')
-rw-r--r-- | packet-quake3.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/packet-quake3.c b/packet-quake3.c index a0080f1d17..df632b131f 100644 --- a/packet-quake3.c +++ b/packet-quake3.c @@ -3,7 +3,7 @@ * * Uwe Girlich <uwe@planetquake.com> * - * $Id: packet-quake3.c,v 1.6 2001/11/27 07:36:22 guy Exp $ + * $Id: packet-quake3.c,v 1.7 2001/12/03 03:59:38 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -555,17 +555,20 @@ void proto_reg_handoff_quake3(void) { static int initialized=FALSE; + static dissector_handle_t quake3_handle; static int server_port; static int master_port; int i; - if (initialized) { + if (!initialized) { + quake3_handle = create_dissector_handle(dissect_quake3, + proto_quake3); + initialized=TRUE; + } else { for (i=0;i<4;i++) - dissector_delete("udp.port", server_port+i, dissect_quake3); + dissector_delete("udp.port", server_port+i, quake3_handle); for (i=0;i<4;i++) - dissector_delete("udp.port", master_port+i, dissect_quake3); - } else { - initialized=TRUE; + dissector_delete("udp.port", master_port+i, quake3_handle); } /* set port for future deletes */ @@ -575,10 +578,10 @@ proto_reg_handoff_quake3(void) /* add dissectors */ for (i=0;i<4;i++) dissector_add("udp.port", gbl_quake3_server_port + i, - dissect_quake3, proto_quake3); + quake3_handle); for (i=0;i<4;i++) dissector_add("udp.port", gbl_quake3_master_port + i, - dissect_quake3, proto_quake3); + quake3_handle); data_handle = find_dissector("data"); } |