aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ccsds.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-ccsds.c')
-rw-r--r--epan/dissectors/packet-ccsds.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/epan/dissectors/packet-ccsds.c b/epan/dissectors/packet-ccsds.c
index 9c79849be3..750fb7b57f 100644
--- a/epan/dissectors/packet-ccsds.c
+++ b/epan/dissectors/packet-ccsds.c
@@ -298,8 +298,8 @@ static const char* embedded_time_to_string ( int coarse_time, int fine_time )
/* Code to actually dissect the packets */
-static void
-dissect_ccsds(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+static int
+dissect_ccsds(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
{
int offset = 0;
proto_item *ccsds_packet;
@@ -503,6 +503,7 @@ dissect_ccsds(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
/* Give the data dissector any bytes past the CCSDS packet length */
call_dissector(data_handle, tvb_new_subset_remaining(tvb, offset), pinfo, tree);
+ return tvb_captured_length(tvb);
}
@@ -706,7 +707,7 @@ proto_register_ccsds(void)
expert_ccsds = expert_register_protocol(proto_ccsds);
expert_register_field_array(expert_ccsds, ei, array_length(ei));
- register_dissector ( "ccsds", dissect_ccsds, proto_ccsds );
+ new_register_dissector ( "ccsds", dissect_ccsds, proto_ccsds );
/* Register preferences module */
ccsds_module = prefs_register_protocol(proto_ccsds, NULL);