aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-dis.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2016-03-16 09:02:52 -0400
committerMichael Mann <mmann78@netscape.net>2016-03-20 12:48:48 +0000
commit9bcac48403de9aff6435d0f48028ae1f72f64528 (patch)
tree16989d2207299572c970a79b6d4c4037fa975c55 /epan/dissectors/packet-dis.c
parent6da50e2fde7b678cfbee922e3b12d588d75b6eef (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.c4
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