aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-newmail.c
diff options
context:
space:
mode:
authorBill Meier <wmeier@newsguy.com>2008-09-19 17:39:44 +0000
committerBill Meier <wmeier@newsguy.com>2008-09-19 17:39:44 +0000
commita3e6eb8071f114133faffb86fb24f896e8cbb19a (patch)
tree47cc32e73bfad57671a6518bec9903a75c5a1927 /epan/dissectors/packet-newmail.c
parent8451a2b8299d0c2cf4bf755427a239e71e6cc6ed (diff)
Minor cleanup mostly related to proto_reg_handoff
svn path=/trunk/; revision=26236
Diffstat (limited to 'epan/dissectors/packet-newmail.c')
-rw-r--r--epan/dissectors/packet-newmail.c34
1 files changed, 13 insertions, 21 deletions
diff --git a/epan/dissectors/packet-newmail.c b/epan/dissectors/packet-newmail.c
index 2f64eac44c..4d190b27e7 100644
--- a/epan/dissectors/packet-newmail.c
+++ b/epan/dissectors/packet-newmail.c
@@ -46,8 +46,7 @@
void proto_reg_handoff_newmail(void);
/* Variables for preferences */
-guint preference_default_port = 0;
-guint preference_default_port_last = 0;
+static guint preference_default_port = 0;
/* Initialize the protocol and registered fields */
static int proto_newmail = -1;
@@ -129,28 +128,21 @@ void
proto_reg_handoff_newmail(void)
{
static gboolean inited = FALSE;
-
- dissector_handle_t newmail_handle;
-
- newmail_handle = find_dissector("newmail");
+ static dissector_handle_t newmail_handle;
+ static guint preference_default_port_last;
if(!inited) {
- dissector_add("udp.port", preference_default_port, newmail_handle);
- preference_default_port_last = preference_default_port;
+ newmail_handle = find_dissector("newmail");
+ dissector_add_handle("udp.port", newmail_handle); /* for 'decode-as' */
inited = TRUE;
- }
-
- if(preference_default_port != preference_default_port_last) {
- /* Unregister the last setting */
- dissector_delete("udp.port", preference_default_port_last,
- newmail_handle);
-
- /* Save the last setting so we can unregister it later */
- preference_default_port_last = preference_default_port;
-
- /* Register the new setting */
+ } else {
+ if (preference_default_port_last != 0) {
+ dissector_delete("udp.port", preference_default_port_last, newmail_handle);
+ }
+ }
+
+ if(preference_default_port != 0) {
dissector_add("udp.port", preference_default_port, newmail_handle);
}
-
-
+ preference_default_port_last = preference_default_port;
}