diff options
author | Bill Meier <wmeier@newsguy.com> | 2008-09-12 16:52:01 +0000 |
---|---|---|
committer | Bill Meier <wmeier@newsguy.com> | 2008-09-12 16:52:01 +0000 |
commit | e344bc8f0f9f9c60590ee827492a6834cc395260 (patch) | |
tree | eb99a85eb5e8146975338d18b8909d3f7a20a759 /epan/dissectors/packet-bvlc.c | |
parent | 296be40635971a88b821b0262aae5222148063b4 (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.c | 19 |
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; } |