diff options
author | Michael Mann <mmann78@netscape.net> | 2016-03-16 09:02:52 -0400 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2016-03-20 12:48:48 +0000 |
commit | 9bcac48403de9aff6435d0f48028ae1f72f64528 (patch) | |
tree | 16989d2207299572c970a79b6d4c4037fa975c55 /epan/dissectors/packet-dis.c | |
parent | 6da50e2fde7b678cfbee922e3b12d588d75b6eef (diff) |
Manually add protocol dependencies derived from find_dissector.
Started by grepping call_dissector_with_data, call_dissector_only and call_dissector and traced the handles passed into them to a find_dissector within the dissector. Then replaced find_dissector with find_dissector_add_dependency and added the protocol id from the dissector.
"data" dissector was not considered to be a dependency.
Change-Id: I15d0d77301306587ef8e7af5876e74231816890d
Reviewed-on: https://code.wireshark.org/review/14509
Petri-Dish: Michael Mann <mmann78@netscape.net>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-dis.c')
-rw-r--r-- | epan/dissectors/packet-dis.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/epan/dissectors/packet-dis.c b/epan/dissectors/packet-dis.c index f682fb64ed..9c002741d3 100644 --- a/epan/dissectors/packet-dis.c +++ b/epan/dissectors/packet-dis.c @@ -3942,6 +3942,7 @@ static gint ett_iff_parameter_4 = -1; static gint ett_iff_parameter_5 = -1; static gint ett_iff_parameter_6 = -1; +static dissector_handle_t link16_handle; typedef int DIS_Parser_func(tvbuff_t *, packet_info *, proto_tree *, int); @@ -4403,7 +4404,7 @@ static gint parse_Link16_Message_Data(proto_tree *tree, tvbuff_t *tvb, gint offs newtvb = tvb_new_child_real_data(tvb, word, 10, 10); tvb_set_free_cb(newtvb, g_free); add_new_data_source(pinfo, newtvb, "Link 16 Word"); - call_dissector_with_data(find_dissector("link16"), newtvb, pinfo, tree, &state); + call_dissector_with_data(link16_handle, newtvb, pinfo, tree, &state); } break; } @@ -9576,6 +9577,7 @@ void proto_reg_handoff_dis(void) if (!dis_prefs_initialized) { dis_dissector_handle = create_dissector_handle(dissect_dis, proto_dis); + link16_handle = find_dissector_add_dependency("link16", proto_dis); dis_prefs_initialized = TRUE; } else |