aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-sdlc.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-sdlc.c')
-rw-r--r--epan/dissectors/packet-sdlc.c26
1 files changed, 11 insertions, 15 deletions
diff --git a/epan/dissectors/packet-sdlc.c b/epan/dissectors/packet-sdlc.c
index 798ca492c4..b3ab0b3d98 100644
--- a/epan/dissectors/packet-sdlc.c
+++ b/epan/dissectors/packet-sdlc.c
@@ -65,8 +65,8 @@ static const xdlc_cf_items sdlc_cf_items = {
&hf_sdlc_ftype_s_u
};
-static void
-dissect_sdlc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+static int
+dissect_sdlc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
{
proto_tree *sdlc_tree;
proto_item *sdlc_ti;
@@ -99,17 +99,12 @@ dissect_sdlc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
col_set_str(pinfo->cinfo, COL_RES_DL_SRC, "DCE");
}
- if (tree) {
- sdlc_ti = proto_tree_add_item(tree, proto_sdlc, tvb, 0, -1,
- ENC_NA);
- sdlc_tree = proto_item_add_subtree(sdlc_ti, ett_sdlc);
+ sdlc_ti = proto_tree_add_item(tree, proto_sdlc, tvb, 0, -1,
+ ENC_NA);
+ sdlc_tree = proto_item_add_subtree(sdlc_ti, ett_sdlc);
- proto_tree_add_uint(sdlc_tree, hf_sdlc_address, tvb, 0, 1,
- addr);
- } else {
- sdlc_ti = NULL;
- sdlc_tree = NULL;
- }
+ proto_tree_add_uint(sdlc_tree, hf_sdlc_address, tvb, 0, 1,
+ addr);
/*
* XXX - SDLC has a mod-128 mode as well as a mod-7 mode.
@@ -122,8 +117,7 @@ dissect_sdlc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
is_response, FALSE, FALSE);
sdlc_header_len += XDLC_CONTROL_LEN(control, FALSE);
- if (tree)
- proto_item_set_len(sdlc_ti, sdlc_header_len);
+ proto_item_set_len(sdlc_ti, sdlc_header_len);
/*
* XXX - is there an FCS at the end, at least in Sniffer
@@ -135,6 +129,8 @@ dissect_sdlc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
call_dissector(sna_handle, next_tvb, pinfo, tree);
} else
call_dissector(data_handle, next_tvb, pinfo, tree);
+
+ return tvb_captured_length(tvb);
}
void
@@ -207,7 +203,7 @@ proto_reg_handoff_sdlc(void)
sna_handle = find_dissector("sna");
data_handle = find_dissector("data");
- sdlc_handle = create_dissector_handle(dissect_sdlc, proto_sdlc);
+ sdlc_handle = new_create_dissector_handle(dissect_sdlc, proto_sdlc);
dissector_add_uint("wtap_encap", WTAP_ENCAP_SDLC, sdlc_handle);
}