diff options
Diffstat (limited to 'epan/dissectors/packet-idmp.c')
-rw-r--r-- | epan/dissectors/packet-idmp.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/epan/dissectors/packet-idmp.c b/epan/dissectors/packet-idmp.c index 6ab14f31e1..bfc95a309f 100644 --- a/epan/dissectors/packet-idmp.c +++ b/epan/dissectors/packet-idmp.c @@ -628,7 +628,7 @@ register_idmp_protocol_info(const char *oid, const ros_info_t *rinfo, int proto } -static void dissect_idmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) +static int dissect_idmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) { int offset = 0; @@ -715,6 +715,7 @@ static void dissect_idmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_t dissect_idmp_IDM_PDU(FALSE, tvb, offset, &asn1_ctx, tree, hf_idmp_PDU); } + return tvb_length(tvb); } static guint get_idmp_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset) @@ -726,11 +727,10 @@ static guint get_idmp_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset) return len + 6; } -static void dissect_idmp_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) +static int dissect_idmp_tcp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data) { - - tcp_dissect_pdus(tvb, pinfo, parent_tree, idmp_desegment, 0, get_idmp_pdu_len, dissect_idmp); - + tcp_dissect_pdus(tvb, pinfo, parent_tree, idmp_desegment, 0, get_idmp_pdu_len, dissect_idmp, data); + return tvb_length(tvb); } static void idmp_reassemble_init (void) @@ -963,7 +963,7 @@ void proto_register_idmp(void) proto_register_field_array(proto_idmp, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); - register_dissector("idmp", dissect_idmp_tcp, proto_idmp); + new_register_dissector("idmp", dissect_idmp_tcp, proto_idmp); register_init_routine (&idmp_reassemble_init); |