diff options
author | Anders Broman <anders.broman@ericsson.com> | 2007-08-17 21:31:22 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2007-08-17 21:31:22 +0000 |
commit | 9f35c24eb580e96917a644060e43dfcf7b432561 (patch) | |
tree | e6239ddfed8ec2d11ab6c0dee6aea7f2850f5691 /epan/dissectors/packet-dua.c | |
parent | d47443ba387615fa463f636ca22de072ca595fb1 (diff) |
Add a rudimentarry DPNSS dissector - work in progress.
svn path=/trunk/; revision=22543
Diffstat (limited to 'epan/dissectors/packet-dua.c')
-rw-r--r-- | epan/dissectors/packet-dua.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/epan/dissectors/packet-dua.c b/epan/dissectors/packet-dua.c index 8a8775781d..b1f2283a69 100644 --- a/epan/dissectors/packet-dua.c +++ b/epan/dissectors/packet-dua.c @@ -80,6 +80,7 @@ static gint ett_dua = -1; static gint ett_dua_parameter = -1; static dissector_handle_t data_handle; +static dissector_handle_t dpnss_handle; #define ADD_PADDING(x) ((((x) + 3) >> 2) << 2) @@ -317,6 +318,11 @@ dissect_protocol_data_parameter(tvbuff_t *parameter_tvb, proto_item *parameter_i protocol_data_length = tvb_get_ntohs(parameter_tvb, PARAMETER_LENGTH_OFFSET) - PARAMETER_HEADER_LENGTH; protocol_data_tvb = tvb_new_subset(parameter_tvb, PROTOCOL_DATA_OFFSET, protocol_data_length, protocol_data_length); + if(dpnss_handle){ + call_dissector(dpnss_handle, protocol_data_tvb, pinfo, tree); + return; + } + call_dissector(data_handle, protocol_data_tvb, pinfo, tree); proto_item_append_text(parameter_item, " (%u byte%s)", protocol_data_length, plurality(protocol_data_length, "", "s")); @@ -765,5 +771,6 @@ proto_reg_handoff_dua(void) dua_handle = create_dissector_handle(dissect_dua, proto_dua); data_handle = find_dissector("data"); + dpnss_handle = find_dissector("dpnss"); dissector_add("sctp.ppi", DUA_PAYLOAD_PROTOCOL_ID, dua_handle); } |