diff options
author | Michael Mann <mmann78@netscape.net> | 2015-11-22 22:59:08 -0500 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2015-11-23 13:09:55 +0000 |
commit | 2bbbb4879c3e0885fd971bd75ca88a183feb92f0 (patch) | |
tree | 9bbd51756fa6230f3555612e27863b316371ad38 /epan/dissectors/packet-meta.c | |
parent | 073cfb33ec84f12d7904f0e6ed2b0a5d049f4ded (diff) |
register_dissector -> new_register_dissector
Change-Id: Ic368dd8e83cf39e0c934da0ae2744778e2d54ce6
Reviewed-on: https://code.wireshark.org/review/12050
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-meta.c')
-rw-r--r-- | epan/dissectors/packet-meta.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/epan/dissectors/packet-meta.c b/epan/dissectors/packet-meta.c index 21bb434a1f..aa968e8733 100644 --- a/epan/dissectors/packet-meta.c +++ b/epan/dissectors/packet-meta.c @@ -506,8 +506,8 @@ static gint32 evaluate_meta_items(guint16 schema, tvbuff_t *tvb, packet_info *pi return total_len; } -static void -dissect_meta(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +static int +dissect_meta(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_) { #define META_HEADER_SIZE 8 guint16 schema, proto, hdrlen, reserved; @@ -537,12 +537,12 @@ dissect_meta(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) if (item_len < 0) { /* evaluate_meta_items signalled an error */ - return; /* stop parsing */ + return META_HEADER_SIZE; /* stop parsing */ } if (hdrlen != item_len) { expert_add_info(pinfo, ti, &ei_meta_invalid_header); - return; + return META_HEADER_SIZE; } /* find next subdissector based on the chosen schema */ @@ -600,6 +600,7 @@ dissect_meta(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) call_dissector(next_dissector ? next_dissector : data_handle, next_tvb, pinfo, tree); + return tvb_captured_length(tvb); } void @@ -780,7 +781,7 @@ proto_register_meta(void) expert_module_t* expert_meta; proto_meta = proto_register_protocol("Metadata", "META", "meta"); - register_dissector("meta", dissect_meta, proto_meta); + new_register_dissector("meta", dissect_meta, proto_meta); proto_register_field_array(proto_meta, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); |