aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-udld.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-udld.c')
-rw-r--r--epan/dissectors/packet-udld.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/epan/dissectors/packet-udld.c b/epan/dissectors/packet-udld.c
index 7e6f2ea569..866c3b99e6 100644
--- a/epan/dissectors/packet-udld.c
+++ b/epan/dissectors/packet-udld.c
@@ -97,8 +97,8 @@ static const value_string opcode_vals[] = {
{ 0, NULL }
};
-static void
-dissect_udld(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+static int
+dissect_udld(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
{
proto_item *ti;
proto_tree *udld_tree = NULL;
@@ -220,13 +220,14 @@ dissect_udld(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
proto_tree_add_item(tlv_tree, hf_udld_data, tvb, offset + 4,
length - 4, ENC_NA);
} else {
- return;
+ return offset;
}
offset += length;
}
}
call_dissector(data_handle, tvb_new_subset_remaining(tvb, offset), pinfo, udld_tree);
+ return tvb_captured_length(tvb);
}
void
@@ -304,7 +305,7 @@ proto_reg_handoff_udld(void)
dissector_handle_t udld_handle;
data_handle = find_dissector("data");
- udld_handle = create_dissector_handle(dissect_udld, proto_udld);
+ udld_handle = new_create_dissector_handle(dissect_udld, proto_udld);
dissector_add_uint("llc.cisco_pid", 0x0111, udld_handle);
dissector_add_uint("chdlc.protocol", 0x0111, udld_handle);
}