diff options
author | Jakub Zawadzki <darkjames-ws@darkjames.pl> | 2013-08-05 19:09:44 +0000 |
---|---|---|
committer | Jakub Zawadzki <darkjames-ws@darkjames.pl> | 2013-08-05 19:09:44 +0000 |
commit | f4bcbeb9f26874ab763e78056638541a5b371cde (patch) | |
tree | 0cfd0c6f58226d6d85bdc0613cdcbfc97432e228 /epan/dissectors/packet-ber.c | |
parent | d3af98bb91b83d58b03a6264423b658af111d44b (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.c | 8 |
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); |