aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ber.c
diff options
context:
space:
mode:
authorJakub Zawadzki <darkjames-ws@darkjames.pl>2013-08-05 19:09:44 +0000
committerJakub Zawadzki <darkjames-ws@darkjames.pl>2013-08-05 19:09:44 +0000
commitf4bcbeb9f26874ab763e78056638541a5b371cde (patch)
tree0cfd0c6f58226d6d85bdc0613cdcbfc97432e228 /epan/dissectors/packet-ber.c
parentd3af98bb91b83d58b03a6264423b658af111d44b (diff)
Keep result of [new_]register_dissector in some dissectors. [2 of x]
(don't create new dissector handle if we can use already existing one) svn path=/trunk/; revision=51159
Diffstat (limited to 'epan/dissectors/packet-ber.c')
-rw-r--r--epan/dissectors/packet-ber.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/epan/dissectors/packet-ber.c b/epan/dissectors/packet-ber.c
index 3fbc143f14..dcd54b1efb 100644
--- a/epan/dissectors/packet-ber.c
+++ b/epan/dissectors/packet-ber.c
@@ -179,6 +179,8 @@ static expert_field ei_ber_illegal_padding = EI_INIT;
static expert_field ei_ber_invalid_format_generalized_time = EI_INIT;
static expert_field ei_ber_invalid_format_utctime = EI_INIT;
+static dissector_handle_t ber_handle;
+
static gboolean show_internal_ber_fields = FALSE;
static gboolean decode_octetstring_as_ber = FALSE;
static gboolean decode_primitive_as_ber = FALSE;
@@ -5334,7 +5336,9 @@ proto_register_ber(void)
users_flds);
proto_ber = proto_register_protocol("Basic Encoding Rules (ASN.1 X.690)", "BER", "ber");
- register_dissector ("ber", dissect_ber, proto_ber);
+
+ ber_handle = register_dissector("ber", dissect_ber, proto_ber);
+
proto_register_field_array(proto_ber, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
expert_ber = expert_register_protocol(proto_ber);
@@ -5386,12 +5390,10 @@ void
proto_reg_handoff_ber(void)
{
guint i = 1;
- dissector_handle_t ber_handle;
oid_add_from_string("asn1", "2.1");
oid_add_from_string("basic-encoding", "2.1.1");
- ber_handle = create_dissector_handle(dissect_ber, proto_ber);
dissector_add_uint("wtap_encap", WTAP_ENCAP_BER, ber_handle);
ber_decode_as_foreach(ber_add_syntax_name, &i);