aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-bvlc.c
diff options
context:
space:
mode:
authorBill Meier <wmeier@newsguy.com>2008-09-12 16:52:01 +0000
committerBill Meier <wmeier@newsguy.com>2008-09-12 16:52:01 +0000
commite344bc8f0f9f9c60590ee827492a6834cc395260 (patch)
treeeb99a85eb5e8146975338d18b8909d3f7a20a759 /epan/dissectors/packet-bvlc.c
parent296be40635971a88b821b0262aae5222148063b4 (diff)
Small revisions related to proto_reg_handoff ....
svn path=/trunk/; revision=26185
Diffstat (limited to 'epan/dissectors/packet-bvlc.c')
-rw-r--r--epan/dissectors/packet-bvlc.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/epan/dissectors/packet-bvlc.c b/epan/dissectors/packet-bvlc.c
index 1cc45ab518..09f5b4b351 100644
--- a/epan/dissectors/packet-bvlc.c
+++ b/epan/dissectors/packet-bvlc.c
@@ -48,7 +48,7 @@
* configured locally to a different value without it being considered
* a violation of this protocol.
*/
-static guint additional_bvlc_udp_port = 0;
+static guint global_additional_bvlc_udp_port = 0;
static int proto_bvlc = -1;
static int hf_bvlc_type = -1;
@@ -415,7 +415,7 @@ proto_register_bvlc(void)
prefs_register_uint_preference(bvlc_module, "additional_udp_port",
"Additional UDP port", "Set an additional UDP port, "
"besides the standard X'BAC0' (47808) port.",
- 10, &additional_bvlc_udp_port);
+ 10, &global_additional_bvlc_udp_port);
new_register_dissector("bvlc", dissect_bvlc, proto_bvlc);
@@ -428,21 +428,24 @@ proto_reg_handoff_bvlc(void)
{
static int bvlc_initialized = FALSE;
static dissector_handle_t bvlc_handle;
- static guint bvlc_udp_port;
+ static guint additional_bvlc_udp_port;
if (!bvlc_initialized)
{
bvlc_handle = find_dissector("bvlc");
dissector_add("udp.port", 0xBAC0, bvlc_handle);
+ data_handle = find_dissector("data");
bvlc_initialized = TRUE;
}
else
{
- dissector_delete("udp.port", bvlc_udp_port, bvlc_handle);
+ if (additional_bvlc_udp_port != 0) {
+ dissector_delete("udp.port", additional_bvlc_udp_port, bvlc_handle);
+ }
}
- bvlc_udp_port = additional_bvlc_udp_port;
- dissector_add("udp.port", bvlc_udp_port, bvlc_handle);
-
- data_handle = find_dissector("data");
+ if (global_additional_bvlc_udp_port != 0) {
+ dissector_add("udp.port", global_additional_bvlc_udp_port, bvlc_handle);
+ }
+ additional_bvlc_udp_port = global_additional_bvlc_udp_port;
}